Zelda Classic Coverage Report


Directory: src/
File: src/subscr.cpp
Date: 2023-06-07 01:54:02
Exec Total Coverage
Lines: 1240 2136 58.1%
Functions: 40 52 76.9%
Branches: 962 1820 52.9%

Line Branch Exec Source
1 //--------------------------------------------------------
2 // Zelda Classic
3 // by Jeremy Craner, 1999-2000
4 //
5 // subscr.cc
6 //
7 // Subscreen code for zelda.cc
8 //
9 //--------------------------------------------------------
10
11 #include "subscr.h"
12 #include "base/zapp.h"
13 #include "tiles.h"
14 #include "base/zsys.h"
15 #include "base/util.h"
16 #include "zc/hero.h"
17
1/2
✓ Branch 0 taken 34 times.
✗ Branch 1 not taken.
34 #include "gamedata.h"
18 #include "items.h"
19 #include <stdio.h>
20 #include <string.h>
21
22 using namespace util;
23
24 bool show_subscreen_dmap_dots=true;
25 bool show_subscreen_numbers=true;
26 bool show_subscreen_items=true;
27 bool show_subscreen_life=true;
28 bool new_sel=false;
29
30 extern sprite_list guys, items, Ewpns, Lwpns, Sitems, chainlinks, decorations;
31 extern HeroClass Hero;
32 extern FFScript FFCore;
33
34 subscreen_group *current_subscreen_active;
35 subscreen_group *current_subscreen_passive;
36
37 subscreen_group custom_subscreen[MAXCUSTOMSUBSCREENS];
38
39 static const int32_t notscrolling = sspUP | sspDOWN;
40 static const int32_t pos = notscrolling | sspSCROLLING;
41
42 subscreen_object z3_active_a[80]=
43 {
44 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
45 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
46 { sso2X2FRAME, pos, 8, 0, 19, 12, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
47 { sso2X2FRAME, pos, 8, 96, 19, 9, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
48 { sso2X2FRAME, pos, 168, 0, 10, 6, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
49 { sso2X2FRAME, pos, 168, 48, 10, 7, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
50 { sso2X2FRAME, pos, 168, 104, 10, 8, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
51 { sso2X2FRAME, pos, 8, 0, 19, 12, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
52 { sso2X2FRAME, pos, 8, 96, 19, 9, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
53 { sso2X2FRAME, pos, 168, 0, 10, 6, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
54 { sso2X2FRAME, pos, 168, 48, 10, 7, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
55 { sso2X2FRAME, pos, 168, 104, 10, 8, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
56 { ssoCURRENTITEM, pos, 176, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_sword, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
57 { ssoCURRENTITEM, pos, 200, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
58 { ssoCURRENTITEM, pos, 224, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
59 { ssoCURRENTITEM, pos, 200, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
60 { ssoCURRENTITEM, pos, 28, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
61 { ssoCURRENTITEM, pos, 52, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
62 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
63 { ssoCURRENTITEM, pos, 100, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
64 { ssoCURRENTITEM, pos, 124, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
65 { ssoCURRENTITEM, pos, 28, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
66 { ssoCURRENTITEM, pos, 52, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
67 { ssoCURRENTITEM, pos, 76, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
68 { ssoCURRENTITEM, pos, 100, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
69 { ssoCURRENTITEM, pos, 124, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_quiver, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
70 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
71 { ssoCURRENTITEM, pos, 32, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_bowandarrow, 1, 0, 10, 5, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
72 { ssoCOUNTER, pos, 44, 26, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
73 { ssoCURRENTITEM, pos, 56, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 1, 11, 6, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
74 { ssoCURRENTITEM, pos, 80, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 2, 12, 7, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
75 { ssoCURRENTITEM, pos, 104, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 3, 13, 8, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
76 { ssoCOUNTER, pos, 116, 26, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
77 { ssoCURRENTITEM, pos, 128, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 4, 14, 9, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
78 { ssoCURRENTITEM, pos, 32, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 5, 0, 10, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
79 { ssoCURRENTITEM, pos, 56, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 6, 1, 11, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
80 { ssoCOUNTER, pos, 68, 50, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
81 { ssoCURRENTITEM, pos, 80, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_divinefire, 1, 7, 2, 12, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
82 { ssoCURRENTITEM, pos, 104, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineprotection, 1, 8, 3, 13, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
83 { ssoCURRENTITEM, pos, 128, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineescape, 1, 9, 4, 14, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
84 { ssoCURRENTITEM, pos, 32, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 10, 5, 0, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
85 { ssoCURRENTITEM, pos, 56, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 6, 1, 10, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
86 { ssoCURRENTITEM, pos, 80, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 12, 7, 2, 11, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
87 { ssoCURRENTITEM, pos, 104, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 13, 8, 3, 12, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
88 { ssoCURRENTITEM, pos, 128, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 14, 9, 4, 13, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
89 { ssoLINE, pos, 177, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
90 { ssoLINE, pos, 181, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
91 { ssoLINE, pos, 185, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
92 { ssoLINE, pos, 189, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
93 { ssoLINE, pos, 193, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
94 { ssoLINE, pos, 197, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
95 { ssoLINE, pos, 201, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
96 { ssoLINE, pos, 205, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
97 { ssoLINE, pos, 209, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
98 { ssoLINE, pos, 213, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
99 { ssoLINE, pos, 217, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
100 { ssoLINE, pos, 221, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
101 { ssoLINE, pos, 225, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
102 { ssoLINE, pos, 229, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
103 { ssoLINE, pos, 233, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
104 { ssoLINE, pos, 237, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
105 { ssoBUTTONITEM, pos, 200, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
106 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
107 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
108 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
109 { ssoSELECTEDITEMNAME, pos, 173, 24, 70, 16, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfPROP, sstaCENTER, sstsSHADOWED, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
110 { ssoRECT, pos, 24, 1, 16, 6, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
111 { ssoTEXT, pos, 24, 1, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"ITEM" },
112 { ssoTEXT, pos, 17, 105, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"INVENTORY" },
113 { ssoTEXT, pos, 177, 57, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"TRIFORCE" },
114 { ssoTEXT, pos, 177, 113, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"EQUIPMENT" },
115 { ssoTRIFORCE, pos, 192, 64, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
116 { ssoTRIFORCE, pos, 208, 64, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
117 { ssoTRIFORCE, pos, 176, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
118 { ssoTRIFORCE, pos, 224, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
119 { ssoTRIFORCE, pos, 192, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 2, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
120 { ssoTRIFORCE, pos, 192, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
121 { ssoTRIFORCE, pos, 208, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 3, 1, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
122 { ssoTRIFORCE, pos, 208, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
123 { ssoTILEBLOCK, pos, 16, 8, 1, 1, 1, 0, 0, 0, 0, 0, 28201, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
124 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
125 };
126 subscreen_object z3_active_ab[82]=
127 {
128 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
129 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
130 { sso2X2FRAME, pos, 8, 0, 19, 12, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
131 { sso2X2FRAME, pos, 8, 96, 19, 9, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
132 { sso2X2FRAME, pos, 168, 0, 10, 6, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
133 { sso2X2FRAME, pos, 168, 48, 10, 7, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
134 { sso2X2FRAME, pos, 168, 104, 10, 8, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
135 { sso2X2FRAME, pos, 8, 0, 19, 12, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
136 { sso2X2FRAME, pos, 8, 96, 19, 9, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
137 { sso2X2FRAME, pos, 168, 0, 10, 6, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
138 { sso2X2FRAME, pos, 168, 48, 10, 7, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
139 { sso2X2FRAME, pos, 168, 104, 10, 8, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
140 { ssoCURRENTITEM, pos, 176, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_sword, 1, 15, 14, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
141 { ssoCURRENTITEM, pos, 200, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
142 { ssoCURRENTITEM, pos, 224, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
143 { ssoCURRENTITEM, pos, 200, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
144 { ssoCURRENTITEM, pos, 28, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
145 { ssoCURRENTITEM, pos, 52, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
146 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
147 { ssoCURRENTITEM, pos, 100, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
148 { ssoCURRENTITEM, pos, 124, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
149 { ssoCURRENTITEM, pos, 28, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
150 { ssoCURRENTITEM, pos, 52, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
151 { ssoCURRENTITEM, pos, 76, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
152 { ssoCURRENTITEM, pos, 100, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
153 { ssoCURRENTITEM, pos, 124, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_quiver, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
154 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
155 { ssoCURRENTITEM, pos, 32, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_bowandarrow, 1, 0, 10, 5, 15, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
156 { ssoCOUNTER, pos, 44, 26, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
157 { ssoCURRENTITEM, pos, 56, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 1, 11, 6, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
158 { ssoCURRENTITEM, pos, 80, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 2, 12, 7, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
159 { ssoCURRENTITEM, pos, 104, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 3, 13, 8, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
160 { ssoCOUNTER, pos, 116, 26, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
161 { ssoCURRENTITEM, pos, 128, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 4, 14, 9, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
162 { ssoCURRENTITEM, pos, 32, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 5, 0, 10, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
163 { ssoCURRENTITEM, pos, 56, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 6, 1, 11, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
164 { ssoCOUNTER, pos, 68, 50, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
165 { ssoCURRENTITEM, pos, 80, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_divinefire, 1, 7, 2, 12, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
166 { ssoCURRENTITEM, pos, 104, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineprotection, 1, 8, 3, 13, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
167 { ssoCURRENTITEM, pos, 128, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineescape, 1, 9, 4, 14, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
168 { ssoCURRENTITEM, pos, 32, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 10, 5, 0, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
169 { ssoCURRENTITEM, pos, 56, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 6, 1, 10, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
170 { ssoCURRENTITEM, pos, 80, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 12, 7, 2, 11, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
171 { ssoCURRENTITEM, pos, 104, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 13, 8, 3, 12, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
172 { ssoCURRENTITEM, pos, 128, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 14, 9, 4, 13, 15, 0, 0, 0, 0, 0, 0, 0, NULL },
173 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
174 { ssoLINE, pos, 177, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
175 { ssoLINE, pos, 181, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
176 { ssoLINE, pos, 185, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
177 { ssoLINE, pos, 189, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
178 { ssoLINE, pos, 193, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
179 { ssoLINE, pos, 197, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
180 { ssoLINE, pos, 201, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
181 { ssoLINE, pos, 205, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
182 { ssoLINE, pos, 209, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
183 { ssoLINE, pos, 213, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
184 { ssoLINE, pos, 217, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
185 { ssoLINE, pos, 221, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
186 { ssoLINE, pos, 225, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
187 { ssoLINE, pos, 229, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
188 { ssoLINE, pos, 233, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
189 { ssoLINE, pos, 237, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
190 { ssoBUTTONITEM, pos, 200, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
191 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
192 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
193 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
194 { ssoSELECTEDITEMNAME, pos, 173, 24, 70, 16, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfPROP, sstaCENTER, sstsSHADOWED, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
195 { ssoRECT, pos, 24, 1, 16, 6, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
196 { ssoTEXT, pos, 24, 1, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"ITEM" },
197 { ssoTILEBLOCK, pos, 16, 73, 1, 1, 1, 0, 0, 0, 0, 0, 28201, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
198 { ssoTEXT, pos, 17, 105, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"INVENTORY" },
199 { ssoTEXT, pos, 177, 57, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"TRIFORCE" },
200 { ssoTEXT, pos, 177, 113, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"EQUIPMENT" },
201 { ssoTRIFORCE, pos, 192, 64, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
202 { ssoTRIFORCE, pos, 208, 64, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
203 { ssoTRIFORCE, pos, 176, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
204 { ssoTRIFORCE, pos, 224, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
205 { ssoTRIFORCE, pos, 192, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 2, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
206 { ssoTRIFORCE, pos, 192, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
207 { ssoTRIFORCE, pos, 208, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 3, 1, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
208 { ssoTRIFORCE, pos, 208, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
209 { ssoTILEBLOCK, pos, 16, 8, 1, 1, 1, 0, 0, 0, 0, 0, 28200, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
210 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
211 };
212 subscreen_object z3_passive_a[66]=
213 {
214 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
215 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
216 { ssoMINITILE, pos, 74, 6, 0, 0, 5, 0, 0, 0, 0, 0, 101069, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
217 { ssoMINITILE, pos, 101, 6, 0, 0, 0, 0, 0, 0, 0, 0, 101369, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
218 { ssoMINITILE, pos, 126, 7, 0, 0, 1, 0, 0, 0, 0, 0, 101683, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
219 { ssoMINITILE, pos, 144, 6, 0, 0, 1, 0, 0, 0, 0, 0, 101212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
220 { ssoMAGICGAUGE, pos, 16, 8, 8, 8, 5, 5, 5, 0, 0, 0, 9, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
221 { ssoMAGICGAUGE, pos, 16, 12, 8, 8, 5, 5, 5, 0, 0, 0, 8, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
222 { ssoMAGICGAUGE, pos, 16, 16, 8, 8, 5, 5, 5, 0, 0, 0, 7, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
223 { ssoMAGICGAUGE, pos, 16, 20, 8, 8, 5, 5, 5, 0, 0, 0, 6, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
224 { ssoMAGICGAUGE, pos, 16, 24, 8, 8, 5, 5, 5, 0, 0, 0, 5, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
225 { ssoMAGICGAUGE, pos, 16, 28, 8, 8, 5, 5, 5, 0, 0, 0, 4, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
226 { ssoMAGICGAUGE, pos, 16, 32, 8, 8, 5, 5, 5, 0, 0, 0, 3, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
227 { ssoMAGICGAUGE, pos, 16, 36, 8, 8, 5, 5, 5, 0, 0, 0, 2, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
228 { ssoMAGICGAUGE, pos, 16, 40, 8, 8, 5, 5, 5, 0, 0, 0, 1, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
229 { ssoMAGICGAUGE, pos, 16, 44, 8, 8, 5, 5, 5, 5, 0, 0, 0, 100322, 100260, 100322, 100322, 1, 0, 0, 2, 0, 0, 0, 0, 0, NULL },
230 { ssoMAGICGAUGE, pos, 24, 8, 8, 8, 5, 5, 5, 0, 0, 0, 9, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
231 { ssoMAGICGAUGE, pos, 24, 12, 8, 8, 5, 5, 5, 0, 0, 0, 8, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
232 { ssoMAGICGAUGE, pos, 24, 16, 8, 8, 5, 5, 5, 0, 0, 0, 7, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
233 { ssoMAGICGAUGE, pos, 24, 20, 8, 8, 5, 5, 5, 0, 0, 0, 6, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
234 { ssoMAGICGAUGE, pos, 24, 24, 8, 8, 5, 5, 5, 0, 0, 0, 5, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
235 { ssoMAGICGAUGE, pos, 24, 28, 8, 8, 5, 5, 5, 0, 0, 0, 4, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
236 { ssoMAGICGAUGE, pos, 24, 32, 8, 8, 5, 5, 5, 0, 0, 0, 3, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
237 { ssoMAGICGAUGE, pos, 24, 36, 8, 8, 5, 5, 5, 0, 0, 0, 2, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
238 { ssoMAGICGAUGE, pos, 24, 40, 8, 8, 5, 5, 5, 0, 0, 0, 1, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
239 { ssoMAGICGAUGE, pos, 24, 44, 8, 8, 5, 5, 5, 0, 0, 0, 0, 100323, 100260, 100262, 100263, 1, 0, 0, 2, 0, 0, 0, 0, 0, NULL },
240 { ssoMAGICGAUGE, pos, 16, 44, 8, 8, 5, 5, 5, 5, 0, 0, 0, 100402, 100260, 100322, 100322, 1, 0, 0, 1, 0, 0, 0, 0, 0, NULL },
241 { ssoMAGICGAUGE, pos, 24, 44, 8, 8, 5, 5, 5, 0, 0, 0, 0, 100403, 100260, 100262, 100263, 1, 0, 0, 1, 0, 0, 0, 0, 0, NULL },
242 { sso2X2FRAME, pos, 32, 4, 4, 4, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
243 { ssoBUTTONITEM, pos, 40, 12, 16, 16, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
244 { ssoCOUNTER, pos, 52, 22, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
245 { ssoCOUNTER, pos, 52, 22, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
246 { ssoCOUNTER, pos, 52, 22, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
247 { ssoTEXT, pos, 200, 6, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"LIFE" },
248 { ssoRECT, pos, 178, 8, 12, 2, 0, 15, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
249 { ssoLINE, pos, 179, 8, 10, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
250 { ssoRECT, pos, 210, 8, 12, 2, 0, 15, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
251 { ssoLINE, pos, 211, 8, 10, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
252 { ssoLIFEGAUGE, pos, 169, 15, 8, 8, 1, 1, 1, 1, 0, 0, 1, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
253 { ssoLIFEGAUGE, pos, 177, 15, 8, 8, 1, 1, 1, 1, 0, 0, 2, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
254 { ssoLIFEGAUGE, pos, 185, 15, 8, 8, 1, 1, 1, 1, 0, 0, 3, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
255 { ssoLIFEGAUGE, pos, 193, 15, 8, 8, 1, 1, 1, 1, 0, 0, 4, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
256 { ssoLIFEGAUGE, pos, 201, 15, 8, 8, 1, 1, 1, 1, 0, 0, 5, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
257 { ssoLIFEGAUGE, pos, 209, 15, 8, 8, 1, 1, 1, 1, 0, 0, 6, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
258 { ssoLIFEGAUGE, pos, 217, 15, 8, 8, 1, 1, 1, 1, 0, 0, 7, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
259 { ssoLIFEGAUGE, pos, 225, 15, 8, 8, 1, 1, 1, 1, 0, 0, 8, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
260 { ssoLIFEGAUGE, pos, 169, 23, 8, 8, 1, 1, 1, 1, 0, 0, 9, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
261 { ssoLIFEGAUGE, pos, 177, 23, 8, 8, 1, 1, 1, 1, 0, 0, 10, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
262 { ssoLIFEGAUGE, pos, 185, 23, 8, 8, 1, 1, 1, 1, 0, 0, 11, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
263 { ssoLIFEGAUGE, pos, 193, 23, 8, 8, 1, 1, 1, 1, 0, 0, 12, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
264 { ssoLIFEGAUGE, pos, 201, 23, 8, 8, 1, 1, 1, 1, 0, 0, 13, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
265 { ssoLIFEGAUGE, pos, 209, 23, 8, 8, 1, 1, 1, 1, 0, 0, 14, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
266 { ssoLIFEGAUGE, pos, 217, 23, 8, 8, 1, 1, 1, 1, 0, 0, 15, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
267 { ssoLIFEGAUGE, pos, 225, 23, 8, 8, 1, 1, 1, 1, 0, 0, 16, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
268 { ssoLIFEGAUGE, pos, 169, 31, 8, 8, 1, 1, 1, 1, 0, 0, 17, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
269 { ssoLIFEGAUGE, pos, 177, 31, 8, 8, 1, 1, 1, 1, 0, 0, 18, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
270 { ssoLIFEGAUGE, pos, 185, 31, 8, 8, 1, 1, 1, 1, 0, 0, 19, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
271 { ssoLIFEGAUGE, pos, 193, 31, 8, 8, 1, 1, 1, 1, 0, 0, 20, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
272 { ssoLIFEGAUGE, pos, 201, 31, 8, 8, 1, 1, 1, 1, 0, 0, 21, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
273 { ssoLIFEGAUGE, pos, 209, 31, 8, 8, 1, 1, 1, 1, 0, 0, 22, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
274 { ssoLIFEGAUGE, pos, 217, 31, 8, 8, 1, 1, 1, 1, 0, 0, 23, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
275 { ssoLIFEGAUGE, pos, 225, 31, 8, 8, 1, 1, 1, 1, 0, 0, 24, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
276 { ssoCOUNTER, pos, 77, 15, 25, 9, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 3, '~', 1, sscRUPEES, 0, 0, 0, 0, 0, 0, 0, NULL },
277 { ssoCOUNTER, pos, 105, 15, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 2, '~', 1, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
278 { ssoCOUNTER, pos, 129, 15, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 2, '~', 1, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
279 { ssoCOUNTER, pos, 148, 15, 9, 9, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 1, '~', 1, sscGENKEYMAGIC, 0, 0, 0, 0, 0, 0, 0, NULL },
280 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
281 };
282 subscreen_object z3_passive_ab[75]=
283 {
284 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
285 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
286 { ssoMINITILE, pos, 80, 6, 0, 0, 5, 0, 0, 0, 0, 0, 101069, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
287 { ssoMINITILE, pos, 107, 6, 0, 0, 0, 0, 0, 0, 0, 0, 101369, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
288 { ssoMINITILE, pos, 132, 7, 0, 0, 1, 0, 0, 0, 0, 0, 101683, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
289 { ssoMINITILE, pos, 150, 6, 0, 0, 1, 0, 0, 0, 0, 0, 101212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
290 { ssoMAGICGAUGE, pos, 16, 8, 8, 8, 5, 5, 5, 0, 0, 0, 9, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
291 { ssoMAGICGAUGE, pos, 16, 12, 8, 8, 5, 5, 5, 0, 0, 0, 8, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
292 { ssoMAGICGAUGE, pos, 16, 16, 8, 8, 5, 5, 5, 0, 0, 0, 7, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
293 { ssoMAGICGAUGE, pos, 16, 20, 8, 8, 5, 5, 5, 0, 0, 0, 6, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
294 { ssoMAGICGAUGE, pos, 16, 24, 8, 8, 5, 5, 5, 0, 0, 0, 5, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
295 { ssoMAGICGAUGE, pos, 16, 28, 8, 8, 5, 5, 5, 0, 0, 0, 4, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
296 { ssoMAGICGAUGE, pos, 16, 32, 8, 8, 5, 5, 5, 0, 0, 0, 3, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
297 { ssoMAGICGAUGE, pos, 16, 36, 8, 8, 5, 5, 5, 0, 0, 0, 2, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
298 { ssoMAGICGAUGE, pos, 16, 40, 8, 8, 5, 5, 5, 0, 0, 0, 1, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
299 { ssoMAGICGAUGE, pos, 16, 44, 8, 8, 5, 5, 5, 5, 0, 0, 0, 100322, 100260, 100322, 100322, 1, 0, 0, 2, 0, 0, 0, 0, 0, NULL },
300 { ssoMAGICGAUGE, pos, 24, 8, 8, 8, 5, 5, 5, 0, 0, 0, 9, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
301 { ssoMAGICGAUGE, pos, 24, 12, 8, 8, 5, 5, 5, 0, 0, 0, 8, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
302 { ssoMAGICGAUGE, pos, 24, 16, 8, 8, 5, 5, 5, 0, 0, 0, 7, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
303 { ssoMAGICGAUGE, pos, 24, 20, 8, 8, 5, 5, 5, 0, 0, 0, 6, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
304 { ssoMAGICGAUGE, pos, 24, 24, 8, 8, 5, 5, 5, 0, 0, 0, 5, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
305 { ssoMAGICGAUGE, pos, 24, 28, 8, 8, 5, 5, 5, 0, 0, 0, 4, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
306 { ssoMAGICGAUGE, pos, 24, 32, 8, 8, 5, 5, 5, 0, 0, 0, 3, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
307 { ssoMAGICGAUGE, pos, 24, 36, 8, 8, 5, 5, 5, 0, 0, 0, 2, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
308 { ssoMAGICGAUGE, pos, 24, 40, 8, 8, 5, 5, 5, 0, 0, 0, 1, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
309 { ssoMAGICGAUGE, pos, 24, 44, 8, 8, 5, 5, 5, 0, 0, 0, 0, 100323, 100260, 100262, 100263, 1, 0, 0, 2, 0, 0, 0, 0, 0, NULL },
310 { ssoMAGICGAUGE, pos, 16, 44, 8, 8, 5, 5, 5, 5, 0, 0, 0, 100402, 100260, 100322, 100322, 1, 0, 0, 1, 0, 0, 0, 0, 0, NULL },
311 { ssoMAGICGAUGE, pos, 24, 44, 8, 8, 5, 5, 5, 0, 0, 0, 0, 100403, 100260, 100262, 100263, 1, 0, 0, 1, 0, 0, 0, 0, 0, NULL },
312 { sso2X2FRAME, pos, 32, 26, 4, 4, 8, 0, 0, 0, 0, 0, 20040, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
313 { sso2X2FRAME, pos, 32, 0, 4, 4, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
314 { ssoBUTTONITEM, pos, 40, 8, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
315 { ssoCOUNTER, pos, 52, 18, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
316 { ssoCOUNTER, pos, 52, 18, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
317 { ssoCOUNTER, pos, 52, 18, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
318 { ssoBUTTONITEM, pos, 40, 34, 16, 16, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
319 { ssoCOUNTER, pos, 52, 44, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
320 { ssoCOUNTER, pos, 52, 44, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
321 { ssoCOUNTER, pos, 52, 44, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
322 { ssoTEXT, pos, 200, 6, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"LIFE" },
323 { ssoRECT, pos, 178, 8, 12, 2, 0, 15, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
324 { ssoLINE, pos, 179, 8, 10, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
325 { ssoRECT, pos, 210, 8, 12, 2, 0, 15, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
326 { ssoLINE, pos, 211, 8, 10, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
327 { ssoLIFEGAUGE, pos, 169, 15, 8, 8, 1, 1, 1, 1, 0, 0, 1, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
328 { ssoLIFEGAUGE, pos, 177, 15, 8, 8, 1, 1, 1, 1, 0, 0, 2, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
329 { ssoLIFEGAUGE, pos, 185, 15, 8, 8, 1, 1, 1, 1, 0, 0, 3, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
330 { ssoLIFEGAUGE, pos, 193, 15, 8, 8, 1, 1, 1, 1, 0, 0, 4, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
331 { ssoLIFEGAUGE, pos, 201, 15, 8, 8, 1, 1, 1, 1, 0, 0, 5, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
332 { ssoLIFEGAUGE, pos, 209, 15, 8, 8, 1, 1, 1, 1, 0, 0, 6, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
333 { ssoLIFEGAUGE, pos, 217, 15, 8, 8, 1, 1, 1, 1, 0, 0, 7, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
334 { ssoLIFEGAUGE, pos, 225, 15, 8, 8, 1, 1, 1, 1, 0, 0, 8, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
335 { ssoLIFEGAUGE, pos, 169, 23, 8, 8, 1, 1, 1, 1, 0, 0, 9, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
336 { ssoLIFEGAUGE, pos, 177, 23, 8, 8, 1, 1, 1, 1, 0, 0, 10, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
337 { ssoLIFEGAUGE, pos, 185, 23, 8, 8, 1, 1, 1, 1, 0, 0, 11, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
338 { ssoLIFEGAUGE, pos, 193, 23, 8, 8, 1, 1, 1, 1, 0, 0, 12, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
339 { ssoLIFEGAUGE, pos, 201, 23, 8, 8, 1, 1, 1, 1, 0, 0, 13, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
340 { ssoLIFEGAUGE, pos, 209, 23, 8, 8, 1, 1, 1, 1, 0, 0, 14, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
341 { ssoLIFEGAUGE, pos, 217, 23, 8, 8, 1, 1, 1, 1, 0, 0, 15, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
342 { ssoLIFEGAUGE, pos, 225, 23, 8, 8, 1, 1, 1, 1, 0, 0, 16, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
343 { ssoLIFEGAUGE, pos, 169, 31, 8, 8, 1, 1, 1, 1, 0, 0, 17, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
344 { ssoLIFEGAUGE, pos, 177, 31, 8, 8, 1, 1, 1, 1, 0, 0, 18, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
345 { ssoLIFEGAUGE, pos, 185, 31, 8, 8, 1, 1, 1, 1, 0, 0, 19, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
346 { ssoLIFEGAUGE, pos, 193, 31, 8, 8, 1, 1, 1, 1, 0, 0, 20, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
347 { ssoLIFEGAUGE, pos, 201, 31, 8, 8, 1, 1, 1, 1, 0, 0, 21, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
348 { ssoLIFEGAUGE, pos, 209, 31, 8, 8, 1, 1, 1, 1, 0, 0, 22, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
349 { ssoLIFEGAUGE, pos, 217, 31, 8, 8, 1, 1, 1, 1, 0, 0, 23, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
350 { ssoLIFEGAUGE, pos, 225, 31, 8, 8, 1, 1, 1, 1, 0, 0, 24, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
351 { ssoCOUNTER, pos, 83, 15, 25, 9, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 3, '~', 1, sscRUPEES, 0, 0, 0, 0, 0, 0, 0, NULL },
352 { ssoCOUNTER, pos, 111, 15, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 2, '~', 1, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
353 { ssoCOUNTER, pos, 135, 15, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 2, '~', 1, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
354 { ssoCOUNTER, pos, 154, 15, 9, 9, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 1, '~', 1, sscGENKEYMAGIC, 0, 0, 0, 0, 0, 0, 0, NULL },
355 { ssoRECT, pos, 59, 11, 4, 10, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
356 { ssoRECT, pos, 59, 37, 4, 10, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
357 { ssoTEXT, pos, 61, 13, 8, 8, 0, 1, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"A" },
358 { ssoTEXT, pos, 61, 38, 8, 8, 0, 1, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"B" },
359 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
360 };
361
362 subscreen_object default_subscreen_active[ssdtMAX][2][66]=//[zinit.subscreen][dungeon]
363 {
364 {
365 //ssdtOLD
366 {
367 //ssdtOLD, overworld
368 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
369 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
370 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
371 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
372 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
373 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
374 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
375 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
376 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
377 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
378 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
379 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
380 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
381 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
382 { ssoTEXT, pos, 68, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
383 { sso2X2FRAME, pos, 56, 34, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
384 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
385 { ssoTEXT, pos, 64, 66, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "USE B BUTTON" },
386 { ssoTEXT, pos, 64, 74, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "FOR THIS" },
387 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
388 { ssoTEXT, pos, 128, 154, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
389 { ssoTRIFRAME, pos, 80, 98, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
390 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
391 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
392 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
393 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
394 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
395 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
396 { sso2X2FRAME, pos, 120, 34, 13, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
397 { ssoBUTTONITEM, notscrolling, 64, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
398 { ssoCURRENTITEM, notscrolling, 128, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
399 { ssoCURRENTITEM, notscrolling, 148, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
400 { ssoCURRENTITEM, notscrolling, 160, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
401 { ssoCURRENTITEM, notscrolling, 176, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
402 { ssoCURRENTITEM, notscrolling, 192, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
403 { ssoCURRENTITEM, notscrolling, 204, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
404 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
405 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
406 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
407 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
408 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
409 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
410 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
411 { ssoCURRENTITEM, notscrolling, 172, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
412 { ssoCURRENTITEM, notscrolling, 180, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
413 { ssoCURRENTITEM, notscrolling, 128, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
414 { ssoCURRENTITEM, notscrolling, 152, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
415 { ssoCURRENTITEM, notscrolling, 176, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
416 { ssoCURRENTITEM, notscrolling, 200, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
417 { ssoCURRENTITEM, notscrolling, 128, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
418 { ssoCURRENTITEM, notscrolling, 152, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
419 { ssoCURRENTITEM, notscrolling, 176, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
420 { ssoCURRENTITEM, notscrolling, 200, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
421 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
422 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
423 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
424 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
425 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
426 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
427 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
428 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
429 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
430 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
431 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
432 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
433 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
434 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
435 },
436 {
437 //ssdtOLD, dungeon
438 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
439 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
440 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
441 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
442 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
443 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
444 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
445 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
446 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
447 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
448 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
449 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
450 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
451 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
452 { ssoTEXT, pos, 68, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
453 { sso2X2FRAME, pos, 56, 34, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
454 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
455 { ssoTEXT, pos, 64, 66, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "USE B BUTTON" },
456 { ssoTEXT, pos, 64, 74, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "FOR THIS" },
457 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
458 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
459 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
460 { ssoLARGEMAP, pos, 96, 82, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL },
461 { ssoTEXT, pos, 52, 90, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "MAP" },
462 { ssoTEXT, pos, 52, 130, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "COMPASS" },
463 { ssoCURRENTITEM, notscrolling, 44, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
464 { ssoCURRENTITEM, notscrolling, 44, 146, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
465 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
466 { sso2X2FRAME, pos, 120, 34, 13, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
467 { ssoBUTTONITEM, notscrolling, 64, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
468 { ssoCURRENTITEM, notscrolling, 128, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
469 { ssoCURRENTITEM, notscrolling, 148, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
470 { ssoCURRENTITEM, notscrolling, 160, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
471 { ssoCURRENTITEM, notscrolling, 176, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
472 { ssoCURRENTITEM, notscrolling, 192, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
473 { ssoCURRENTITEM, notscrolling, 204, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
474 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
475 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
476 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
477 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
478 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
479 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
480 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
481 { ssoCURRENTITEM, notscrolling, 172, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
482 { ssoCURRENTITEM, notscrolling, 180, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
483 { ssoCURRENTITEM, notscrolling, 128, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
484 { ssoCURRENTITEM, notscrolling, 152, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
485 { ssoCURRENTITEM, notscrolling, 176, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
486 { ssoCURRENTITEM, notscrolling, 200, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
487 { ssoCURRENTITEM, notscrolling, 128, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
488 { ssoCURRENTITEM, notscrolling, 152, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
489 { ssoCURRENTITEM, notscrolling, 176, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
490 { ssoCURRENTITEM, notscrolling, 200, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
491 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
492 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
493 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
494 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
495 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
496 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
497 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
498 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
499 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
500 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
501 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
502 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
503 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
504 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
505 }
506 },
507 {
508 //ssdtNEWSUBSCR
509 {
510 //ssdtNEWSUBSCR, overworld
511 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
512 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
513 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
514 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
515 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
516 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
517 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
518 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
519 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
520 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
521 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
522 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
523 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
524 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
525 { ssoTEXT, pos, 68, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
526 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
527 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
528 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
529 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
530 { sso2X2FRAME, pos, 12, 34, 14, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
531 { ssoTEXT, pos, 128, 154, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
532 { ssoTRIFRAME, pos, 80, 98, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
533 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
534 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
535 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
536 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
537 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
538 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
539 { sso2X2FRAME, pos, 136, 18, 13, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
540 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
541 { ssoCURRENTITEM, pos, 20, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
542 { ssoCURRENTITEM, pos, 36, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
543 { ssoCURRENTITEM, pos, 52, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
544 { ssoCURRENTITEM, pos, 68, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
545 { ssoCURRENTITEM, pos, 84, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
546 { ssoCURRENTITEM, pos, 100, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
547 { ssoCURRENTITEM, pos, 20, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
548 { ssoCURRENTITEM, pos, 36, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
549 { ssoCURRENTITEM, pos, 52, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
550 { ssoCURRENTITEM, pos, 68, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
551 { ssoCURRENTITEM, pos, 84, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
552 { ssoCURRENTITEM, pos, 100, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
553 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
554 { ssoCURRENTITEM, pos, 188, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
555 { ssoCURRENTITEM, pos, 196, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
556 { ssoCURRENTITEM, pos, 144, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 11, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
557 { ssoCURRENTITEM, pos, 168, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
558 { ssoCURRENTITEM, pos, 192, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
559 { ssoCURRENTITEM, pos, 216, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
560 { ssoCURRENTITEM, pos, 144, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
561 { ssoCURRENTITEM, pos, 168, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
562 { ssoCURRENTITEM, pos, 192, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
563 { ssoCURRENTITEM, pos, 216, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
564 { ssoCURRENTITEM, pos, 144, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
565 { ssoCURRENTITEM, pos, 168, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
566 { ssoCURRENTITEM, pos, 192, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
567 { ssoCURRENTITEM, pos, 216, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
568 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
569 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
570 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
571 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
572 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
573 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
574 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
575 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
576 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
577 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
578 },
579 {
580 //ssdtNEWSUBSCR, dungeon
581 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
582 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
583 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
584 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
585 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
586 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
587 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
588 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
589 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
590 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
591 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
592 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
593 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
594 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
595 { ssoTEXT, pos, 68, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
596 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
597 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
598 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
599 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
600 { sso2X2FRAME, pos, 12, 34, 14, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
601 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
602 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
603 { ssoLARGEMAP, pos, 96, 82, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL },
604 { ssoTEXT, pos, 52, 90, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "MAP" },
605 { ssoTEXT, pos, 52, 130, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "COMPASS" },
606 { ssoCURRENTITEM, pos, 44, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
607 { ssoCURRENTITEM, pos, 44, 146, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
608 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
609 { sso2X2FRAME, pos, 136, 18, 13, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
610 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
611 { ssoCURRENTITEM, pos, 20, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
612 { ssoCURRENTITEM, pos, 36, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
613 { ssoCURRENTITEM, pos, 52, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
614 { ssoCURRENTITEM, pos, 68, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
615 { ssoCURRENTITEM, pos, 84, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
616 { ssoCURRENTITEM, pos, 100, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
617 { ssoCURRENTITEM, pos, 20, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
618 { ssoCURRENTITEM, pos, 36, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
619 { ssoCURRENTITEM, pos, 52, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
620 { ssoCURRENTITEM, pos, 68, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
621 { ssoCURRENTITEM, pos, 84, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
622 { ssoCURRENTITEM, pos, 100, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
623 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
624 { ssoCURRENTITEM, pos, 188, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
625 { ssoCURRENTITEM, pos, 196, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
626 { ssoCURRENTITEM, pos, 144, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 11, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
627 { ssoCURRENTITEM, pos, 168, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
628 { ssoCURRENTITEM, pos, 192, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
629 { ssoCURRENTITEM, pos, 216, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
630 { ssoCURRENTITEM, pos, 144, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
631 { ssoCURRENTITEM, pos, 168, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
632 { ssoCURRENTITEM, pos, 192, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
633 { ssoCURRENTITEM, pos, 216, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
634 { ssoCURRENTITEM, pos, 144, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
635 { ssoCURRENTITEM, pos, 168, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
636 { ssoCURRENTITEM, pos, 192, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
637 { ssoCURRENTITEM, pos, 216, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
638 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
639 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
640 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
641 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
642 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
643 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
644 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
645 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
646 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
647 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
648 }
649 },
650 {
651 //ssdtREV2
652 {
653 //ssdtREV2, overworld
654 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
655 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
656 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
657 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
658 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
659 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
660 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
661 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
662 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
663 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
664 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
665 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
666 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
667 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
668 { ssoTEXT, pos, 62, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
669 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
670 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
671 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
672 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
673 { sso2X2FRAME, pos, 6, 34, 14, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
674 { ssoTEXT, pos, 128, 154, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
675 { ssoTRIFRAME, pos, 80, 98, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
676 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
677 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
678 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
679 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
680 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
681 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
682 { sso2X2FRAME, pos, 118, 18, 16, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
683 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
684 { ssoCURRENTITEM, pos, 14, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
685 { ssoCURRENTITEM, pos, 30, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
686 { ssoCURRENTITEM, pos, 46, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
687 { ssoCURRENTITEM, pos, 62, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
688 { ssoCURRENTITEM, pos, 78, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
689 { ssoCURRENTITEM, pos, 94, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
690 { ssoCURRENTITEM, pos, 14, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
691 { ssoCURRENTITEM, pos, 30, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
692 { ssoCURRENTITEM, pos, 46, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
693 { ssoCURRENTITEM, pos, 62, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
694 { ssoCURRENTITEM, pos, 78, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
695 { ssoCURRENTITEM, pos, 94, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
696 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
697 { ssoCURRENTITEM, pos, 170, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
698 { ssoCURRENTITEM, pos, 178, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
699 { ssoCURRENTITEM, pos, 126, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
700 { ssoCURRENTITEM, pos, 150, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
701 { ssoCURRENTITEM, pos, 174, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
702 { ssoCURRENTITEM, pos, 198, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
703 { ssoCURRENTITEM, pos, 222, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_divinefire, 1, 12, 14, 13, 3, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
704 { ssoCURRENTITEM, pos, 126, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 12, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
705 { ssoCURRENTITEM, pos, 150, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
706 { ssoCURRENTITEM, pos, 174, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
707 { ssoCURRENTITEM, pos, 198, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
708 { ssoCURRENTITEM, pos, 222, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineescape, 1, 13, 12, 14, 7, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
709 { ssoCURRENTITEM, pos, 126, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 13, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
710 { ssoCURRENTITEM, pos, 150, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
711 { ssoCURRENTITEM, pos, 174, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
712 { ssoCURRENTITEM, pos, 198, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
713 { ssoCURRENTITEM, pos, 222, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineprotection, 1, 14, 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
714 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
715 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
716 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
717 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
718 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
719 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
720 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
721 },
722 {
723 //ssdtREV2, dungeon
724 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
725 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
726 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
727 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
728 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
729 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
730 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
731 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
732 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
733 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
734 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
735 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
736 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
737 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
738 { ssoTEXT, pos, 62, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
739 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
740 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
741 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
742 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
743 { sso2X2FRAME, pos, 6, 34, 14, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
744 { sso2X2FRAME, pos, 16, 98, 9, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
745 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
746 { ssoLARGEMAP, pos, 96, 82, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL },
747 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
748 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
749 { ssoCURRENTITEM, pos, 24, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
750 { ssoCURRENTITEM, pos, 44, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
751 { ssoCURRENTITEM, pos, 64, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_bosskey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
752 { sso2X2FRAME, pos, 118, 18, 16, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
753 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
754 { ssoCURRENTITEM, pos, 14, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
755 { ssoCURRENTITEM, pos, 30, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
756 { ssoCURRENTITEM, pos, 46, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
757 { ssoCURRENTITEM, pos, 62, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
758 { ssoCURRENTITEM, pos, 78, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
759 { ssoCURRENTITEM, pos, 94, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
760 { ssoCURRENTITEM, pos, 14, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
761 { ssoCURRENTITEM, pos, 30, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
762 { ssoCURRENTITEM, pos, 46, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
763 { ssoCURRENTITEM, pos, 62, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
764 { ssoCURRENTITEM, pos, 78, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
765 { ssoCURRENTITEM, pos, 94, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
766 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
767 { ssoCURRENTITEM, pos, 170, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
768 { ssoCURRENTITEM, pos, 178, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
769 { ssoCURRENTITEM, pos, 126, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
770 { ssoCURRENTITEM, pos, 150, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
771 { ssoCURRENTITEM, pos, 174, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
772 { ssoCURRENTITEM, pos, 198, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
773 { ssoCURRENTITEM, pos, 222, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_divinefire, 1, 12, 14, 13, 3, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
774 { ssoCURRENTITEM, pos, 126, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 12, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
775 { ssoCURRENTITEM, pos, 150, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
776 { ssoCURRENTITEM, pos, 174, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
777 { ssoCURRENTITEM, pos, 198, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
778 { ssoCURRENTITEM, pos, 222, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineescape, 1, 13, 12, 14, 7, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
779 { ssoCURRENTITEM, pos, 126, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 13, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
780 { ssoCURRENTITEM, pos, 150, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
781 { ssoCURRENTITEM, pos, 174, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
782 { ssoCURRENTITEM, pos, 198, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
783 { ssoCURRENTITEM, pos, 222, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineprotection, 1, 14, 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
784 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
785 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
786 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
787 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
788 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
789 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
790 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
791 }
792 },
793 {
794 //ssdtBSZELDA
795 {
796 //ssdtBSZELDA, overworld
797 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
798 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
799 { ssoMINITILE, pos, 0, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
800 { ssoMINITILE, pos, 8, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
801 { ssoMINITILE, pos, 88, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
802 { ssoMINITILE, pos, 96, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
803 { ssoMINITILE, pos, 104, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
804 { ssoMINITILE, pos, 112, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
805 { ssoMINITILE, pos, 120, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
806 { ssoMINITILE, pos, 128, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
807 { ssoMINITILE, pos, 136, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
808 { ssoMINITILE, pos, 144, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
809 { ssoMINITILE, pos, 152, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
810 { ssoMINITILE, pos, 248, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
811 { ssoTEXT, pos, 51, 24, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
812 { sso2X2FRAME, pos, 28, 80, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
813 { ssoTEXT, pos, 40, 80, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
814 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
815 { ssoTEXT, pos, 56, 96, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
816 { sso2X2FRAME, pos, 20, 40, 13, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
817 { ssoTEXT, pos, 136, 48, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
818 { ssoTRIFRAME, pos, 136, 56, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
819 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
820 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
821 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
822 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
823 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
824 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
825 { sso2X2FRAME, pos, 20, 112, 14, 7, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
826 { ssoBUTTONITEM, pos, 32, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
827 { ssoCURRENTITEM, pos, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
828 { ssoCURRENTITEM, pos, 96, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
829 { ssoCURRENTITEM, pos, 80, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
830 { ssoCURRENTITEM, pos, 32, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
831 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
832 { ssoCURRENTITEM, pos, 64, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
833 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
834 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
835 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
836 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
837 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
838 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
839 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
840 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
841 { ssoCURRENTITEM, pos, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
842 { ssoCURRENTITEM, pos, 32, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
843 { ssoCURRENTITEM, pos, 56, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
844 { ssoCURRENTITEM, pos, 80, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
845 { ssoCURRENTITEM, pos, 104, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
846 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
847 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
848 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
849 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
850 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
851 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
852 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
853 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
854 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
855 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
856 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
857 { ssoBSTIME, sspDOWN, 208, 25, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
858 { ssoRECT, sspDOWN, 160, 25, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
859 { ssoLINE, sspDOWN, 204, 25, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
860 { ssoLINE, sspDOWN, 160, 32, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
861 { ssoTEXT, sspDOWN, 161, 26, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
862 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
863 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
864 },
865 {
866 //ssdtBSZELDA, dungeon
867 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
868 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
869 { ssoMINITILE, pos, 0, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
870 { ssoMINITILE, pos, 8, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
871 { ssoMINITILE, pos, 88, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
872 { ssoMINITILE, pos, 96, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
873 { ssoMINITILE, pos, 104, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
874 { ssoMINITILE, pos, 112, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
875 { ssoMINITILE, pos, 120, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
876 { ssoMINITILE, pos, 128, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
877 { ssoMINITILE, pos, 136, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
878 { ssoMINITILE, pos, 144, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
879 { ssoMINITILE, pos, 152, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
880 { ssoMINITILE, pos, 248, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
881 { ssoTEXT, pos, 51, 24, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
882 { sso2X2FRAME, pos, 28, 80, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
883 { ssoTEXT, pos, 40, 80, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
884 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
885 { ssoTEXT, pos, 56, 96, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
886 { sso2X2FRAME, pos, 20, 40, 13, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
887 { sso2X2FRAME, pos, 160, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
888 { sso2X2FRAME, pos, 192, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
889 { ssoLARGEMAP, pos, 144, 88, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
890 { ssoTEXT, pos, 176, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Compass" },
891 { ssoTEXT, pos, 208, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Map" },
892 { ssoCURRENTITEM, pos, 200, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
893 { ssoCURRENTITEM, pos, 168, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
894 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
895 { sso2X2FRAME, pos, 20, 112, 14, 7, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
896 { ssoBUTTONITEM, pos, 32, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
897 { ssoCURRENTITEM, pos, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
898 { ssoCURRENTITEM, pos, 96, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
899 { ssoCURRENTITEM, pos, 80, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
900 { ssoCURRENTITEM, pos, 32, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
901 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
902 { ssoCURRENTITEM, pos, 64, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
903 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
904 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
905 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
906 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
907 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
908 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
909 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
910 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
911 { ssoCURRENTITEM, pos, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
912 { ssoCURRENTITEM, pos, 32, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
913 { ssoCURRENTITEM, pos, 56, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
914 { ssoCURRENTITEM, pos, 80, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
915 { ssoCURRENTITEM, pos, 104, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
916 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
917 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
918 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
919 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
920 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
921 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
922 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
923 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
924 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
925 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
926 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
927 { ssoBSTIME, sspDOWN, 208, 25, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
928 { ssoRECT, sspDOWN, 160, 25, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
929 { ssoLINE, sspDOWN, 204, 25, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
930 { ssoLINE, sspDOWN, 160, 32, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
931 { ssoTEXT, sspDOWN, 161, 26, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
932 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
933 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
934 }
935 },
936 {
937 //ssdtBSZELDAMODIFIED
938 {
939 //ssdtBSZELDAMODIFIED, overworld
940 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
941 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
942 { ssoMINITILE, pos, 0, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
943 { ssoMINITILE, pos, 8, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
944 { ssoMINITILE, pos, 88, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
945 { ssoMINITILE, pos, 96, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
946 { ssoMINITILE, pos, 104, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
947 { ssoMINITILE, pos, 112, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
948 { ssoMINITILE, pos, 120, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
949 { ssoMINITILE, pos, 128, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
950 { ssoMINITILE, pos, 136, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
951 { ssoMINITILE, pos, 144, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
952 { ssoMINITILE, pos, 152, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
953 { ssoMINITILE, pos, 248, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
954 { ssoTEXT, pos, 51, 24, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
955 { sso2X2FRAME, pos, 28, 80, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
956 { ssoTEXT, pos, 40, 80, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
957 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
958 { ssoTEXT, pos, 56, 96, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
959 { sso2X2FRAME, pos, 12, 40, 15, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
960 { ssoTEXT, pos, 136, 48, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
961 { ssoTRIFRAME, pos, 136, 56, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
962 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
963 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
964 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
965 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
966 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
967 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
968 { sso2X2FRAME, pos, 20, 112, 14, 7, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
969 { ssoBUTTONITEM, pos, 32, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
970 { ssoCURRENTITEM, pos, 40, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
971 { ssoCURRENTITEM, pos, 88, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
972 { ssoCURRENTITEM, pos, 72, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
973 { ssoCURRENTITEM, pos, 24, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
974 { ssoCURRENTITEM, pos, 104, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
975 { ssoCURRENTITEM, pos, 56, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
976 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
977 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
978 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
979 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
980 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
981 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
982 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
983 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
984 { ssoCURRENTITEM, pos, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
985 { ssoCURRENTITEM, pos, 32, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
986 { ssoCURRENTITEM, pos, 56, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
987 { ssoCURRENTITEM, pos, 80, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
988 { ssoCURRENTITEM, pos, 104, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
989 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
990 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
991 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
992 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
993 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
994 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
995 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
996 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
997 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
998 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
999 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1000 { ssoBSTIME, sspDOWN, 208, 25, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1001 { ssoRECT, sspDOWN, 160, 25, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1002 { ssoLINE, sspDOWN, 204, 25, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1003 { ssoLINE, sspDOWN, 160, 32, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1004 { ssoTEXT, sspDOWN, 161, 26, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1005 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1006 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1007 },
1008 {
1009 //ssdtBSZELDAMODIFIED, dungeon
1010 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1011 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1012 { ssoMINITILE, pos, 0, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1013 { ssoMINITILE, pos, 8, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1014 { ssoMINITILE, pos, 88, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1015 { ssoMINITILE, pos, 96, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1016 { ssoMINITILE, pos, 104, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1017 { ssoMINITILE, pos, 112, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1018 { ssoMINITILE, pos, 120, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1019 { ssoMINITILE, pos, 128, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1020 { ssoMINITILE, pos, 136, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1021 { ssoMINITILE, pos, 144, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1022 { ssoMINITILE, pos, 152, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1023 { ssoMINITILE, pos, 248, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1024 { ssoTEXT, pos, 51, 24, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1025 { sso2X2FRAME, pos, 28, 80, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1026 { ssoTEXT, pos, 40, 80, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1027 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1028 { ssoTEXT, pos, 56, 96, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1029 { sso2X2FRAME, pos, 12, 40, 15, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1030 { sso2X2FRAME, pos, 160, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1031 { sso2X2FRAME, pos, 192, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1032 { ssoLARGEMAP, pos, 144, 88, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1033 { ssoTEXT, pos, 176, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Compass" },
1034 { ssoTEXT, pos, 208, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Map" },
1035 { ssoCURRENTITEM, pos, 200, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1036 { ssoCURRENTITEM, pos, 168, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1037 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1038 { sso2X2FRAME, pos, 20, 112, 14, 7, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1039 { ssoBUTTONITEM, pos, 32, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1040 { ssoCURRENTITEM, pos, 40, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1041 { ssoCURRENTITEM, pos, 88, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1042 { ssoCURRENTITEM, pos, 72, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1043 { ssoCURRENTITEM, pos, 24, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1044 { ssoCURRENTITEM, pos, 104, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1045 { ssoCURRENTITEM, pos, 56, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1046 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1047 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1048 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1049 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1050 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1051 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1052 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1053 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1054 { ssoCURRENTITEM, pos, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1055 { ssoCURRENTITEM, pos, 32, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1056 { ssoCURRENTITEM, pos, 56, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1057 { ssoCURRENTITEM, pos, 80, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1058 { ssoCURRENTITEM, pos, 104, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1059 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1060 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1061 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1062 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1063 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1064 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1065 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1066 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1067 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1068 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1069 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1070 { ssoBSTIME, sspDOWN, 208, 25, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1071 { ssoRECT, sspDOWN, 160, 25, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1072 { ssoLINE, sspDOWN, 204, 25, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1073 { ssoLINE, sspDOWN, 160, 32, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1074 { ssoTEXT, sspDOWN, 161, 26, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1075 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1076 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1077 }
1078 },
1079 {
1080 //ssdtBSZELDAENHANCED
1081 {
1082 //ssdtBSZELDAENHANCED, overworld
1083 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1084 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1085 { ssoMINITILE, pos, 0, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1086 { ssoMINITILE, pos, 8, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1087 { ssoMINITILE, pos, 88, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1088 { ssoMINITILE, pos, 96, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1089 { ssoMINITILE, pos, 104, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1090 { ssoMINITILE, pos, 112, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1091 { ssoMINITILE, pos, 120, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1092 { ssoMINITILE, pos, 128, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1093 { ssoMINITILE, pos, 136, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1094 { ssoMINITILE, pos, 144, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1095 { ssoMINITILE, pos, 152, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1096 { ssoMINITILE, pos, 248, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1097 { ssoTEXT, pos, 51, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1098 { sso2X2FRAME, pos, 28, 72, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1099 { ssoTEXT, pos, 40, 72, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1100 { ssoTEXT, pos, 56, 80, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1101 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1102 { sso2X2FRAME, pos, 12, 20, 15, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1103 { ssoTEXT, pos, 136, 48, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
1104 { ssoTRIFRAME, pos, 136, 56, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1105 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1106 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1107 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1108 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1109 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1110 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1111 { sso2X2FRAME, pos, 20, 104, 14, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1112 { ssoBUTTONITEM, pos, 32, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1113 { ssoCURRENTITEM, pos, 40, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1114 { ssoCURRENTITEM, pos, 88, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1115 { ssoCURRENTITEM, pos, 72, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1116 { ssoCURRENTITEM, pos, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1117 { ssoCURRENTITEM, pos, 104, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1118 { ssoCURRENTITEM, pos, 56, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1119 { ssoCURRENTITEM, pos, 24, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1120 { ssoCURRENTITEM, pos, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1121 { ssoCURRENTITEM, pos, 56, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1122 { ssoCURRENTITEM, pos, 72, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1123 { ssoCURRENTITEM, pos, 88, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1124 { ssoCURRENTITEM, pos, 104, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1125 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1126 { ssoCURRENTITEM, pos, 76, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1127 { ssoCURRENTITEM, pos, 84, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1128 { ssoCURRENTITEM, pos, 32, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 11, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1129 { ssoCURRENTITEM, pos, 56, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1130 { ssoCURRENTITEM, pos, 80, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1131 { ssoCURRENTITEM, pos, 104, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1132 { ssoCURRENTITEM, pos, 32, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1133 { ssoCURRENTITEM, pos, 56, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1134 { ssoCURRENTITEM, pos, 80, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1135 { ssoCURRENTITEM, pos, 104, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
1136 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
1137 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
1138 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
1139 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1140 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1141 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1142 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1143 { ssoBSTIME, sspDOWN, 208, 9, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1144 { ssoRECT, sspDOWN, 160, 9, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1145 { ssoLINE, sspDOWN, 204, 9, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1146 { ssoLINE, sspDOWN, 160, 16, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1147 { ssoTEXT, sspDOWN, 161, 10, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1148 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1149 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1150 },
1151 {
1152 //ssdtBSZELDAENHANCED, dungeon
1153 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1154 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1155 { ssoMINITILE, pos, 0, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1156 { ssoMINITILE, pos, 8, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1157 { ssoMINITILE, pos, 88, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1158 { ssoMINITILE, pos, 96, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1159 { ssoMINITILE, pos, 104, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1160 { ssoMINITILE, pos, 112, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1161 { ssoMINITILE, pos, 120, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1162 { ssoMINITILE, pos, 128, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1163 { ssoMINITILE, pos, 136, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1164 { ssoMINITILE, pos, 144, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1165 { ssoMINITILE, pos, 152, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1166 { ssoMINITILE, pos, 248, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1167 { ssoTEXT, pos, 51, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1168 { sso2X2FRAME, pos, 28, 72, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1169 { ssoTEXT, pos, 40, 72, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1170 { ssoTEXT, pos, 56, 80, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1171 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1172 { sso2X2FRAME, pos, 12, 20, 15, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1173 { sso2X2FRAME, pos, 160, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1174 { sso2X2FRAME, pos, 192, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1175 { ssoLARGEMAP, pos, 144, 88, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1176 { ssoTEXT, pos, 176, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Compass" },
1177 { ssoTEXT, pos, 208, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Map" },
1178 { ssoCURRENTITEM, pos, 200, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1179 { ssoCURRENTITEM, pos, 168, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1180 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1181 { sso2X2FRAME, pos, 20, 104, 14, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1182 { ssoBUTTONITEM, pos, 32, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1183 { ssoCURRENTITEM, pos, 40, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1184 { ssoCURRENTITEM, pos, 88, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1185 { ssoCURRENTITEM, pos, 72, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1186 { ssoCURRENTITEM, pos, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1187 { ssoCURRENTITEM, pos, 104, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1188 { ssoCURRENTITEM, pos, 56, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1189 { ssoCURRENTITEM, pos, 24, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1190 { ssoCURRENTITEM, pos, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1191 { ssoCURRENTITEM, pos, 56, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1192 { ssoCURRENTITEM, pos, 72, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1193 { ssoCURRENTITEM, pos, 88, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1194 { ssoCURRENTITEM, pos, 104, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1195 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1196 { ssoCURRENTITEM, pos, 76, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1197 { ssoCURRENTITEM, pos, 84, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1198 { ssoCURRENTITEM, pos, 32, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 11, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1199 { ssoCURRENTITEM, pos, 56, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1200 { ssoCURRENTITEM, pos, 80, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1201 { ssoCURRENTITEM, pos, 104, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1202 { ssoCURRENTITEM, pos, 32, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1203 { ssoCURRENTITEM, pos, 56, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1204 { ssoCURRENTITEM, pos, 80, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1205 { ssoCURRENTITEM, pos, 104, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
1206 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
1207 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
1208 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
1209 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1210 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1211 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1212 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1213 { ssoBSTIME, sspDOWN, 208, 9, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1214 { ssoRECT, sspDOWN, 160, 9, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1215 { ssoLINE, sspDOWN, 204, 9, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1216 { ssoLINE, sspDOWN, 160, 16, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1217 { ssoTEXT, sspDOWN, 161, 10, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1218 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1219 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1220 }
1221 },
1222 {
1223 //ssdtBSZELDACOMPLETE
1224 {
1225 //ssdtBSZELDACOMPLETE, overworld
1226 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1227 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1228 { ssoMINITILE, pos, 0, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1229 { ssoMINITILE, pos, 8, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1230 { ssoMINITILE, pos, 88, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1231 { ssoMINITILE, pos, 96, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1232 { ssoMINITILE, pos, 104, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1233 { ssoMINITILE, pos, 112, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1234 { ssoMINITILE, pos, 120, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1235 { ssoMINITILE, pos, 128, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1236 { ssoMINITILE, pos, 136, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1237 { ssoMINITILE, pos, 144, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1238 { ssoMINITILE, pos, 152, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1239 { ssoMINITILE, pos, 248, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1240 { ssoTEXT, pos, 51, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1241 { sso2X2FRAME, pos, 28, 72, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1242 { ssoTEXT, pos, 40, 72, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1243 { ssoTEXT, pos, 56, 80, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1244 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1245 { sso2X2FRAME, pos, 12, 20, 15, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1246 { ssoTEXT, pos, 136, 48, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
1247 { ssoTRIFRAME, pos, 136, 56, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1248 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1249 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1250 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1251 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1252 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1253 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1254 { sso2X2FRAME, pos, 4, 104, 16, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1255 { ssoBUTTONITEM, pos, 32, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1256 { ssoCURRENTITEM, pos, 40, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1257 { ssoCURRENTITEM, pos, 88, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1258 { ssoCURRENTITEM, pos, 72, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1259 { ssoCURRENTITEM, pos, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1260 { ssoCURRENTITEM, pos, 104, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1261 { ssoCURRENTITEM, pos, 56, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1262 { ssoCURRENTITEM, pos, 24, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1263 { ssoCURRENTITEM, pos, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1264 { ssoCURRENTITEM, pos, 56, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1265 { ssoCURRENTITEM, pos, 72, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1266 { ssoCURRENTITEM, pos, 88, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1267 { ssoCURRENTITEM, pos, 104, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1268 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1269 { ssoCURRENTITEM, pos, 58, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1270 { ssoCURRENTITEM, pos, 68, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1271 { ssoCURRENTITEM, pos, 14, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1272 { ssoCURRENTITEM, pos, 38, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1273 { ssoCURRENTITEM, pos, 62, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1274 { ssoCURRENTITEM, pos, 86, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
1275 { ssoCURRENTITEM, pos, 110, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_divinefire, 1, 12, 14, 13, 3, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1276 { ssoCURRENTITEM, pos, 14, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 12, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1277 { ssoCURRENTITEM, pos, 38, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1278 { ssoCURRENTITEM, pos, 62, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1279 { ssoCURRENTITEM, pos, 86, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
1280 { ssoCURRENTITEM, pos, 110, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineescape, 1, 13, 12, 14, 7, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
1281 { ssoCURRENTITEM, pos, 14, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 13, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
1282 { ssoCURRENTITEM, pos, 38, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
1283 { ssoCURRENTITEM, pos, 62, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
1284 { ssoCURRENTITEM, pos, 86, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
1285 { ssoCURRENTITEM, pos, 110, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineprotection, 1, 14, 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1286 { ssoBSTIME, sspDOWN, 208, 9, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1287 { ssoRECT, sspDOWN, 160, 9, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1288 { ssoLINE, sspDOWN, 204, 9, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1289 { ssoLINE, sspDOWN, 160, 16, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1290 { ssoTEXT, sspDOWN, 161, 10, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1291 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1292 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1293 },
1294 {
1295 //ssdtBSZELDACOMPLETE, dungeon
1296 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1297 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1298 { ssoMINITILE, pos, 0, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1299 { ssoMINITILE, pos, 8, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1300 { ssoMINITILE, pos, 88, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1301 { ssoMINITILE, pos, 96, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1302 { ssoMINITILE, pos, 104, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1303 { ssoMINITILE, pos, 112, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1304 { ssoMINITILE, pos, 120, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1305 { ssoMINITILE, pos, 128, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1306 { ssoMINITILE, pos, 136, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1307 { ssoMINITILE, pos, 144, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1308 { ssoMINITILE, pos, 152, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1309 { ssoMINITILE, pos, 248, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1310 { ssoTEXT, pos, 51, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1311 { sso2X2FRAME, pos, 28, 72, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1312 { ssoTEXT, pos, 40, 72, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1313 { ssoTEXT, pos, 56, 80, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1314 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1315 { sso2X2FRAME, pos, 12, 20, 15, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1316 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1317 { sso2X2FRAME, pos, 152, 40, 10, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1318 { ssoLARGEMAP, pos, 144, 88, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1319 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1320 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1321 { ssoCURRENTITEM, pos, 160, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1322 { ssoCURRENTITEM, pos, 184, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1323 { ssoCURRENTITEM, pos, 208, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bosskey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1324 { sso2X2FRAME, pos, 4, 104, 16, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1325 { ssoBUTTONITEM, pos, 32, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1326 { ssoCURRENTITEM, pos, 40, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1327 { ssoCURRENTITEM, pos, 88, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1328 { ssoCURRENTITEM, pos, 72, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1329 { ssoCURRENTITEM, pos, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1330 { ssoCURRENTITEM, pos, 104, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1331 { ssoCURRENTITEM, pos, 56, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1332 { ssoCURRENTITEM, pos, 24, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1333 { ssoCURRENTITEM, pos, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1334 { ssoCURRENTITEM, pos, 56, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1335 { ssoCURRENTITEM, pos, 72, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1336 { ssoCURRENTITEM, pos, 88, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1337 { ssoCURRENTITEM, pos, 104, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1338 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1339 { ssoCURRENTITEM, pos, 58, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1340 { ssoCURRENTITEM, pos, 68, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1341 { ssoCURRENTITEM, pos, 14, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1342 { ssoCURRENTITEM, pos, 38, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1343 { ssoCURRENTITEM, pos, 62, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1344 { ssoCURRENTITEM, pos, 86, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
1345 { ssoCURRENTITEM, pos, 110, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_divinefire, 1, 12, 14, 13, 3, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1346 { ssoCURRENTITEM, pos, 14, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 12, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1347 { ssoCURRENTITEM, pos, 38, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1348 { ssoCURRENTITEM, pos, 62, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1349 { ssoCURRENTITEM, pos, 86, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
1350 { ssoCURRENTITEM, pos, 110, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineescape, 1, 13, 12, 14, 7, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
1351 { ssoCURRENTITEM, pos, 14, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 13, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
1352 { ssoCURRENTITEM, pos, 38, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
1353 { ssoCURRENTITEM, pos, 62, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
1354 { ssoCURRENTITEM, pos, 86, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
1355 { ssoCURRENTITEM, pos, 110, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineprotection, 1, 14, 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1356 { ssoBSTIME, sspDOWN, 208, 9, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1357 { ssoRECT, sspDOWN, 160, 9, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1358 { ssoLINE, sspDOWN, 204, 9, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1359 { ssoLINE, sspDOWN, 160, 16, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1360 { ssoTEXT, sspDOWN, 161, 10, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1361 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1362 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1363 }
1364 }
1365 };
1366 subscreen_object default_subscreen_passive[ssdtMAX][2][21]= //[zinit.subscreen][no magic]
1367 {
1368 {
1369 //ssdtOLD
1370 {
1371 //ssdtOLD, magic
1372 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1373 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1374 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1375 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1376 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1377 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1378 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1379 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1380 { ssoBUTTONITEM, sspUP, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1381 { ssoBUTTONITEM, sspUP, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1382 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1383 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1384 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1385 { ssoTEXT, pos, 208, 12, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1386 { ssoLIFEMETER, pos, 176, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1387 { ssoMAGICMETER, pos, 176, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1388 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1389 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1390 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1391 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1392 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1393 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1394 },
1395 {
1396 //ssdtOLD, no magic
1397 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1398 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1399 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1400 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1401 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1402 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1403 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1404 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1405 { ssoBUTTONITEM, sspUP, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1406 { ssoBUTTONITEM, sspUP, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1407 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1408 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1409 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1410 { ssoTEXT, pos, 208, 16, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1411 { ssoLIFEMETER, pos, 176, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1412 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1413 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1414 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1415 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1416 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1417 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1418 }
1419 },
1420 {
1421 //ssdtNEWSUBSCR
1422 {
1423 //ssdtNEWSUBSCR, magic
1424 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1425 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1426 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1427 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1428 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1429 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1430 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1431 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1432 { ssoBUTTONITEM, pos, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1433 { ssoBUTTONITEM, pos, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1434 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1435 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1436 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1437 { ssoTEXT, pos, 208, 12, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1438 { ssoLIFEMETER, pos, 176, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1439 { ssoMAGICMETER, pos, 176, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1440 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1441 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1442 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1443 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1444 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1445 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1446 },
1447 {
1448 //ssdtNEWSUBSCR, no magic
1449 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1450 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1451 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1452 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1453 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1454 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1455 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1456 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1457 { ssoBUTTONITEM, pos, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1458 { ssoBUTTONITEM, pos, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1459 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1460 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1461 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1462 { ssoTEXT, pos, 208, 16, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1463 { ssoLIFEMETER, pos, 176, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1464 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1465 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1466 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1467 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1468 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1469 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1470 }
1471 },
1472 {
1473 //ssdtREV2
1474 {
1475 //ssdtREV2, magic
1476 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1477 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1478 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1479 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1480 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1481 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1482 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1483 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1484 { ssoBUTTONITEM, pos, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1485 { ssoBUTTONITEM, pos, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1486 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1487 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1488 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1489 { ssoTEXT, pos, 208, 12, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1490 { ssoLIFEMETER, pos, 176, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1491 { ssoMAGICMETER, pos, 176, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1492 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1493 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1494 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1495 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1496 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1497 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1498 },
1499 {
1500 //ssdtREV2, no magic
1501 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1502 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1503 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1504 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1505 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1506 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1507 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1508 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1509 { ssoBUTTONITEM, pos, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1510 { ssoBUTTONITEM, pos, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1511 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1512 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1513 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1514 { ssoTEXT, pos, 208, 16, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1515 { ssoLIFEMETER, pos, 176, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1516 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1517 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1518 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1519 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1520 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1521 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1522 }
1523 },
1524 {
1525 //ssdtBSZELDA
1526 {
1527 //ssdtBSZELDA, magic
1528 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1529 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1530 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1531 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1532 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1533 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1534 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1535 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1536 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1537 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1538 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1539 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1540 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1541 { ssoTEXT, pos, 220, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1542 { ssoLIFEMETER, pos, 188, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1543 { ssoMAGICMETER, pos, 188, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1544 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1545 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1546 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1547 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1548 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1549 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1550 },
1551 {
1552 //ssdtBSZELDA, no magic
1553 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1554 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1555 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1556 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1557 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1558 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1559 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1560 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1561 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1562 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1563 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1564 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1565 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1566 { ssoTEXT, pos, 216, 16, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1567 { ssoLIFEMETER, pos, 184, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1568 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1569 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1570 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1571 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1572 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1573 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1574 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1575 }
1576 },
1577 {
1578 //ssdtBSZELDAMODIFIED
1579 {
1580 //ssdtBSZELDAMODIFIED, magic
1581 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1582 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1583 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1584 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1585 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1586 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1587 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1588 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1589 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1590 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1591 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1592 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1593 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1594 { ssoTEXT, pos, 220, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1595 { ssoLIFEMETER, pos, 188, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1596 { ssoMAGICMETER, pos, 188, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1597 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1598 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1599 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1600 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1601 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1602 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1603 },
1604 {
1605 //ssdtBSZELDAMODIFIED, no magic
1606 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1607 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1608 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1609 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1610 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1611 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1612 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1613 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1614 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1615 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1616 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1617 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1618 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1619 { ssoTEXT, pos, 216, 16, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1620 { ssoLIFEMETER, pos, 184, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1621 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1622 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1623 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1624 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1625 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1626 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1627 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1628 }
1629 },
1630 {
1631 //ssdtBSZELDAENHANCED
1632 {
1633 //ssdtBSZELDAENHANCED, magic
1634 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1635 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1636 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1637 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1638 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1639 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1640 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1641 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1642 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1643 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1644 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1645 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1646 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1647 { ssoTEXT, pos, 220, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1648 { ssoLIFEMETER, pos, 188, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1649 { ssoMAGICMETER, pos, 188, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1650 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1651 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1652 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1653 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1654 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1655 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1656 },
1657 {
1658 //ssdtBSZELDAENHANCED, no magic
1659 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1660 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1661 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1662 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1663 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1664 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1665 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1666 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1667 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1668 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1669 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1670 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1671 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1672 { ssoTEXT, pos, 216, 16, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1673 { ssoLIFEMETER, pos, 184, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1674 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1675 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1676 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1677 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1678 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1679 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1680 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1681 }
1682 },
1683 {
1684 //ssdtBSZELDACOMPLETE
1685 {
1686 //ssdtBSZELDACOMPLETE, magic
1687 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1688 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1689 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1690 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1691 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1692 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1693 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1694 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1695 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1696 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1697 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1698 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1699 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1700 { ssoTEXT, pos, 220, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1701 { ssoLIFEMETER, pos, 188, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1702 { ssoMAGICMETER, pos, 188, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1703 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1704 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1705 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1706 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1707 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1708 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1709 },
1710 {
1711 //ssdtBSZELDACOMPLETE, no magic
1712 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1713 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1714 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1715 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1716 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1717 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1718 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1719 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1720 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1721 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1722 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1723 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1724 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1725 { ssoTEXT, pos, 216, 16, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1726 { ssoLIFEMETER, pos, 184, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1727 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1728 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1729 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1730 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1731 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1732 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1733 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1734 }
1735 }
1736 };
1737
1738 58819200 void textout_styled_aligned_ex(BITMAP *bmp, const FONT *f, const char *s, int32_t x, int32_t y, int32_t textstyle, int32_t alignment, int32_t color, int32_t shadow, int32_t bg)
1739 {
1740
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 5382765 times.
✓ Branch 2 taken 27417008 times.
✓ Branch 3 taken 26019427 times.
58819200 switch(alignment)
1741 {
1742 case sstaRIGHT:
1743
3/12
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✓ Branch 6 taken 923 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 11678 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 5370164 times.
5382765 switch(textstyle)
1744 {
1745 case sstsSHADOW:
1746 textout_shadow_right_ex(bmp, f, s, x, y, shadow, bg);
1747 break;
1748
1749 case sstsSHADOWU:
1750 textout_shadow_right_u_ex(bmp, f, s, x, y, shadow, bg);
1751 break;
1752
1753 case sstsOUTLINE8:
1754 textout_shadow_right_o_ex(bmp, f, s, x, y, shadow, bg);
1755 break;
1756
1757 case sstsOUTLINEPLUS:
1758 textout_shadow_right_plus_ex(bmp, f, s, x, y, shadow, bg);
1759 break;
1760
1761 case sstsOUTLINEX:
1762 textout_shadow_right_x_ex(bmp, f, s, x, y, shadow, bg);
1763 break;
1764
1765 case sstsSHADOWED:
1766 923 textout_shadowed_right_ex(bmp, f, s, x, y, color, shadow, bg);
1767 923 break;
1768
1769 case sstsSHADOWEDU:
1770 textout_shadowed_right_u_ex(bmp, f, s, x, y, color, shadow, bg);
1771 break;
1772
1773 case sstsOUTLINED8:
1774 11678 textout_shadowed_right_o_ex(bmp, f, s, x, y, color, shadow, bg);
1775 11678 break;
1776
1777 case sstsOUTLINEDPLUS:
1778 textout_shadowed_right_plus_ex(bmp, f, s, x, y, color, shadow, bg);
1779 break;
1780
1781 case sstsOUTLINEDX:
1782 textout_shadowed_right_x_ex(bmp, f, s, x, y, color, shadow, bg);
1783 break;
1784
1785 5370164 case sstsNORMAL:
1786 default:
1787 5370164 textout_right_ex(bmp, f, s, x, y, color, bg);
1788 5370164 break;
1789 }
1790
1791 5382765 break;
1792
1793 case sstaCENTER:
1794
4/12
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✓ Branch 6 taken 2532 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 20974 times.
✓ Branch 9 taken 288470 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 27105032 times.
27417008 switch(textstyle)
1795 {
1796 case sstsSHADOW:
1797 textout_shadow_center_ex(bmp, f, s, x, y, shadow, bg);
1798 break;
1799
1800 case sstsSHADOWU:
1801 textout_shadow_center_u_ex(bmp, f, s, x, y, shadow, bg);
1802 break;
1803
1804 case sstsOUTLINE8:
1805 textout_shadow_center_o_ex(bmp, f, s, x, y, shadow, bg);
1806 break;
1807
1808 case sstsOUTLINEPLUS:
1809 textout_shadow_center_plus_ex(bmp, f, s, x, y, shadow, bg);
1810 break;
1811
1812 case sstsOUTLINEX:
1813 textout_shadow_center_x_ex(bmp, f, s, x, y, shadow, bg);
1814 break;
1815
1816 case sstsSHADOWED:
1817 2532 textout_shadowed_center_ex(bmp, f, s, x, y, color, shadow, bg);
1818 2532 break;
1819
1820 case sstsSHADOWEDU:
1821 textout_shadowed_center_u_ex(bmp, f, s, x, y, color, shadow, bg);
1822 break;
1823
1824 case sstsOUTLINED8:
1825 20974 textout_shadowed_center_o_ex(bmp, f, s, x, y, color, shadow, bg);
1826 20974 break;
1827
1828 case sstsOUTLINEDPLUS:
1829 288470 textout_shadowed_center_plus_ex(bmp, f, s, x, y, color, shadow, bg);
1830 288470 break;
1831
1832 case sstsOUTLINEDX:
1833 textout_shadowed_center_x_ex(bmp, f, s, x, y, color, shadow, bg);
1834 break;
1835
1836 27105032 case sstsNORMAL:
1837 default:
1838 27105032 textout_centre_ex(bmp, f, s, x, y, color, bg);
1839 27105032 break;
1840 }
1841
1842 27417008 break;
1843
1844 26019427 case sstaLEFT:
1845 default:
1846
5/12
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✓ Branch 6 taken 4908 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 806545 times.
✓ Branch 9 taken 1605547 times.
✓ Branch 10 taken 364228 times.
✓ Branch 11 taken 23238199 times.
26019427 switch(textstyle)
1847 {
1848 case sstsSHADOW:
1849 textout_shadow_ex(bmp, f, s, x, y, shadow, bg);
1850 break;
1851
1852 case sstsSHADOWU:
1853 textout_shadow_u_ex(bmp, f, s, x, y, shadow, bg);
1854 break;
1855
1856 case sstsOUTLINE8:
1857 textout_shadow_o_ex(bmp, f, s, x, y, shadow, bg);
1858 break;
1859
1860 case sstsOUTLINEPLUS:
1861 textout_shadow_plus_ex(bmp, f, s, x, y, shadow, bg);
1862 break;
1863
1864 case sstsOUTLINEX:
1865 textout_shadow_x_ex(bmp, f, s, x, y, shadow, bg);
1866 break;
1867
1868 case sstsSHADOWED:
1869 4908 textout_shadowed_ex(bmp, f, s, x, y, color, shadow, bg);
1870 4908 break;
1871
1872 case sstsSHADOWEDU:
1873 textout_shadowed_u_ex(bmp, f, s, x, y, color, shadow, bg);
1874 break;
1875
1876 case sstsOUTLINED8:
1877 806545 textout_shadowed_o_ex(bmp, f, s, x, y, color, shadow, bg);
1878 806545 break;
1879
1880 case sstsOUTLINEDPLUS:
1881 1605547 textout_shadowed_plus_ex(bmp, f, s, x, y, color, shadow, bg);
1882 1605547 break;
1883
1884 case sstsOUTLINEDX:
1885 364228 textout_shadowed_x_ex(bmp, f, s, x, y, color, shadow, bg);
1886 364228 break;
1887
1888 23238199 case sstsNORMAL:
1889 default:
1890 23238199 textout_ex(bmp, f, s, x, y, color, bg);
1891 23238199 break;
1892 }
1893
1894 26019427 break;
1895 }
1896 58819200 }
1897
1898 24382293 void textprintf_styled_aligned_ex(BITMAP *bmp, const FONT *f, int32_t x, int32_t y, int32_t textstyle, int32_t alignment, int32_t color, int32_t shadow, int32_t bg, const char *format, ...)
1899 {
1900
1901 char buf[512];
1902 va_list ap;
1903
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 24382293 times.
24382293 ASSERT(bmp);
1904
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 24382293 times.
24382293 ASSERT(f);
1905
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 24382293 times.
24382293 ASSERT(format);
1906
1907 24382293 va_start(ap, format);
1908 24382293 uvszprintf(buf, sizeof(buf), format, ap);
1909 24382293 va_end(ap);
1910
1911 24382293 textout_styled_aligned_ex(bmp, f, buf, x, y, textstyle, alignment, color, shadow, bg);
1912 24382293 }
1913
1914
1915 64665 void draw_textbox(BITMAP *dest, int32_t x, int32_t y, int32_t w, int32_t h, FONT *tempfont, char *thetext, bool wword, int32_t tabsize, int32_t alignment, int32_t textstyle, int32_t color, int32_t shadowcolor, int32_t backcolor)
1916 {
1917 64665 int32_t y1 = y;
1918 int32_t x1;
1919 int32_t len;
1920 char s[16];
1921 char text[16];
1922 char space[16];
1923 64665 char *printed = text;
1924 64665 char *scanned = text;
1925 64665 char *oldscan = text;
1926 64665 char *ignore = NULL;
1927 char *tmp, *ptmp;
1928 int32_t width;
1929 64665 int32_t i = 0;
1930 int32_t noignore;
1931
1932 64665 usetc(s+usetc(s, '.'), 0);
1933 64665 usetc(text+usetc(text, ' '), 0);
1934 64665 usetc(space+usetc(space, ' '), 0);
1935
1936 /* find the correct text */
1937
1/2
✓ Branch 0 taken 64665 times.
✗ Branch 1 not taken.
64665 if(thetext != NULL)
1938 {
1939 64665 printed = thetext;
1940 64665 scanned = thetext;
1941 64665 }
1942
1943 /* loop over the entire string */
1944 239069 for(;;)
1945 {
1946 239069 width = 0;
1947
1948 /* find the next break */
1949
2/2
✓ Branch 0 taken 18109 times.
✓ Branch 1 taken 287809 times.
305918 while(ugetc(scanned))
1950 {
1951 /* check for a forced break */
1952
1/2
✓ Branch 0 taken 287809 times.
✗ Branch 1 not taken.
287809 if(ugetc(scanned) == '\n')
1953 {
1954 scanned += uwidth(scanned);
1955 /* we are done parsing the line end */
1956 break;
1957 }
1958
1959 /* the next character length */
1960 287809 usetc(s+usetc(s, ugetc(scanned)), 0);
1961 287809 len = text_length(tempfont, s);
1962
1963 /* modify length if its a tab */
1964
2/2
✓ Branch 0 taken 266501 times.
✓ Branch 1 taken 21308 times.
287809 if(ugetc(s) == '\t')
1965 {
1966 21308 len = tabsize * text_length(tempfont, space);
1967 21308 }
1968
1969 /* check for the end of a line by excess width of next char */
1970
2/2
✓ Branch 0 taken 66849 times.
✓ Branch 1 taken 220960 times.
287809 if(width+len >= w)
1971 {
1972 /* we have reached end of line do we go back to find start */
1973
1/2
✓ Branch 0 taken 220960 times.
✗ Branch 1 not taken.
220960 if(wword)
1974 {
1975 /* remember where we were */
1976 oldscan = scanned;
1977 noignore = FALSE;
1978
1979 /* go backwards looking for start of word */
1980 while(!uisspace(ugetc(scanned)))
1981 {
1982 /* don't wrap too far */
1983 if(scanned == printed)
1984 {
1985 /* the whole line is filled, so stop here */
1986 tmp = ptmp = scanned;
1987
1988 while(ptmp != oldscan)
1989 {
1990 ptmp = tmp;
1991 tmp += uwidth(tmp);
1992 }
1993
1994 scanned = ptmp;
1995 noignore = TRUE;
1996 break;
1997 }
1998
1999 /* look further backwards to wrap */
2000 tmp = ptmp = printed;
2001
2002 while(tmp < scanned)
2003 {
2004 ptmp = tmp;
2005 tmp += uwidth(tmp);
2006 }
2007
2008 scanned = ptmp;
2009 }
2010
2011 /* put the space at the end of the line */
2012 if(!noignore)
2013 {
2014 ignore = scanned;
2015 scanned += uwidth(scanned);
2016 }
2017 else
2018 {
2019 ignore = NULL;
2020 }
2021
2022 /* check for endline at the convenient place */
2023 if(ugetc(scanned) == '\n')
2024 {
2025 scanned += uwidth(scanned);
2026 }
2027 }
2028
2029 /* we are done parsing the line end */
2030 220960 break;
2031 }
2032
2033 /* the character can be added */
2034 66849 scanned += uwidth(scanned);
2035 66849 width += len;
2036 }
2037
2038 /* check if we are to print it */
2039
2/2
✓ Branch 0 taken 13767 times.
✓ Branch 1 taken 225302 times.
239069 if((y1+text_height(tempfont) <= (y+h)))
2040 {
2041 13767 int32_t tempw=0;
2042 13767 char *tempprinted=printed;
2043
2044 /* print up to the marked character */
2045
2/2
✓ Branch 0 taken 45541 times.
✓ Branch 1 taken 13767 times.
59308 while(printed != scanned)
2046 {
2047 /* do special stuff for each charater */
2048
1/3
✗ Branch 0 not taken.
✓ Branch 1 taken 45541 times.
✗ Branch 2 not taken.
45541 switch(ugetc(printed))
2049 {
2050 case '\r':
2051 case '\n':
2052 /* don't print endlines in the text */
2053 break;
2054
2055 /* possibly expand the tabs */
2056 case '\t':
2057 for(i=0; i<tabsize; i++)
2058 {
2059 usetc(s+usetc(s, ' '), 0);
2060 tempw += text_length(tempfont, s);
2061 }
2062
2063 break;
2064
2065 /* print a normal character */
2066 default:
2067
1/2
✓ Branch 0 taken 45541 times.
✗ Branch 1 not taken.
45541 if(printed != ignore)
2068 {
2069 45541 usetc(s+usetc(s, ugetc(printed)), 0);
2070 45541 tempw += text_length(tempfont, s);
2071 45541 }
2072 45541 }
2073
2074 /* goto the next character */
2075 45541 printed += uwidth(printed);
2076 }
2077
2078 13767 printed=tempprinted;
2079
2080
2/4
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✓ Branch 2 taken 13269 times.
✓ Branch 3 taken 498 times.
13767 switch(alignment)
2081 {
2082 case sstaRIGHT:
2083 x1=x+w-tempw;
2084 break;
2085
2086 case sstaCENTER:
2087 13269 x1=x+((w-tempw)/2)+1;
2088 13269 break;
2089
2090 498 case sstaLEFT:
2091 default:
2092 498 x1 = x;
2093 498 break;
2094 }
2095
2096 /* print up to the marked character */
2097
2/2
✓ Branch 0 taken 45541 times.
✓ Branch 1 taken 13767 times.
59308 while(printed != scanned)
2098 {
2099 /* do special stuff for each charater */
2100
1/3
✗ Branch 0 not taken.
✓ Branch 1 taken 45541 times.
✗ Branch 2 not taken.
45541 switch(ugetc(printed))
2101 {
2102
2103 case '\r':
2104 case '\n':
2105 /* don't print endlines in the text */
2106 break;
2107
2108 /* possibly expand the tabs */
2109 case '\t':
2110 for(i=0; i<tabsize; i++)
2111 {
2112 usetc(s+usetc(s, ' '), 0);
2113 textout_styled_aligned_ex(dest, tempfont, s, x1, y1, textstyle, sstaLEFT, color, shadowcolor, backcolor);
2114 x1 += text_length(tempfont, s);
2115 }
2116
2117 break;
2118
2119 /* print a normal character */
2120 default:
2121
1/2
✓ Branch 0 taken 45541 times.
✗ Branch 1 not taken.
45541 if(printed != ignore)
2122 {
2123 45541 usetc(s+usetc(s, ugetc(printed)), 0);
2124 45541 textout_styled_aligned_ex(dest, tempfont, s, x1, y1, textstyle, sstaLEFT, color, shadowcolor, backcolor);
2125 45541 x1 += text_length(tempfont, s);
2126 45541 }
2127 45541 }
2128
2129 /* goto the next character */
2130 45541 printed += uwidth(printed);
2131 }
2132
2133 /* print the line end */
2134 13767 y1 += text_height(tempfont);
2135 13767 }
2136 else
2137 {
2138 225302 scanned += uwidth(scanned);
2139 }
2140
2141 239069 printed = scanned;
2142
2143 /* check if we are at the end of the string */
2144
2/2
✓ Branch 0 taken 64665 times.
✓ Branch 1 taken 174404 times.
239069 if(!ugetc(printed))
2145 {
2146 64665 return;
2147 }
2148 }
2149 }
2150
2151
2152
2153 //void frame2x2(BITMAP *dest,miscQdata *misc,int32_t x,int32_t y,int32_t xsize,int32_t ysize,int32_t t,int32_t c)
2154 //draw_block_flip(dest,x,y,css->objects[i].d1,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].w,css->objects[i].h,css->objects[i].d2,css->objects[i].d3,css->objects[i].d4);
2155 15349864 void frame2x2(BITMAP *dest,miscQdata *misc,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h,int32_t /*flip*/,bool overlay,bool trans)
2156 {
2157 /*
2158 /- -- -- -\
2159 | |
2160 | |
2161 \_ __ __ _/
2162
2163 0 1 4 5
2164 2 3 6 7
2165 80 81 84 85
2166 82 83 86 87
2167 */
2168
3/4
✓ Branch 0 taken 13263580 times.
✓ Branch 1 taken 2086284 times.
✓ Branch 2 taken 13263580 times.
✗ Branch 3 not taken.
15349864 if(tile==0&&misc)
2169 {
2170 13263580 tile = misc->colors.blueframe_tile;
2171 13263580 }
2172
2173 15349864 int32_t t8 = tile<<2;
2174
2175
2/2
✓ Branch 0 taken 15338173 times.
✓ Branch 1 taken 11691 times.
15349864 if(overlay)
2176 {
2177
2/2
✓ Branch 0 taken 44345 times.
✓ Branch 1 taken 15293828 times.
15338173 if(trans)
2178 {
2179
2/2
✓ Branch 0 taken 1419040 times.
✓ Branch 1 taken 44345 times.
1463385 for(int32_t dx=0; dx<w; dx++)
2180 {
2181
6/6
✓ Branch 0 taken 709520 times.
✓ Branch 1 taken 709520 times.
✓ Branch 2 taken 44345 times.
✓ Branch 3 taken 665175 times.
✓ Branch 4 taken 665175 times.
✓ Branch 5 taken 44345 times.
1419040 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2182
6/6
✓ Branch 0 taken 709520 times.
✓ Branch 1 taken 709520 times.
✓ Branch 2 taken 44345 times.
✓ Branch 3 taken 665175 times.
✓ Branch 4 taken 665175 times.
✓ Branch 5 taken 44345 times.
1419040 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2183
2184 1419040 overtiletranslucent8(dest,top,(dx<<3)+x,y,cset,0,128);
2185 1419040 overtiletranslucent8(dest,bottom,(dx<<3)+x,((h-1)<<3)+y,cset,0,128);
2186 1419040 }
2187
2188
2/2
✓ Branch 0 taken 221725 times.
✓ Branch 1 taken 44345 times.
266070 for(int32_t dy=1; dy<h-1; dy++)
2189 {
2190
2/2
✓ Branch 0 taken 133035 times.
✓ Branch 1 taken 88690 times.
221725 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2191
2/2
✓ Branch 0 taken 133035 times.
✓ Branch 1 taken 88690 times.
221725 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2192
2193 221725 overtiletranslucent8(dest,left,x,(dy<<3)+y,cset,0,128);
2194 221725 overtiletranslucent8(dest,right,((w-1)<<3)+x,(dy<<3)+y,cset,0,128);
2195
2196
2/2
✓ Branch 0 taken 6651750 times.
✓ Branch 1 taken 221725 times.
6873475 for(int32_t dx=1; dx<w-1; dx++)
2197 {
2198
6/6
✓ Branch 0 taken 3991050 times.
✓ Branch 1 taken 2660700 times.
✓ Branch 2 taken 1995525 times.
✓ Branch 3 taken 1995525 times.
✓ Branch 4 taken 1330350 times.
✓ Branch 5 taken 1330350 times.
6651750 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2199 6651750 overtiletranslucent8(dest,fill,(dx<<3)+x,(dy<<3)+y,cset,0,128);
2200 6651750 }
2201 221725 }
2202 44345 }
2203 else
2204 {
2205
2/2
✓ Branch 0 taken 53035683 times.
✓ Branch 1 taken 15293828 times.
68329511 for(int32_t dx=0; dx<w; dx++)
2206 {
2207
6/6
✓ Branch 0 taken 33305954 times.
✓ Branch 1 taken 19729729 times.
✓ Branch 2 taken 15293828 times.
✓ Branch 3 taken 18012126 times.
✓ Branch 4 taken 4435901 times.
✓ Branch 5 taken 15293828 times.
53035683 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2208
6/6
✓ Branch 0 taken 33305954 times.
✓ Branch 1 taken 19729729 times.
✓ Branch 2 taken 15293828 times.
✓ Branch 3 taken 18012126 times.
✓ Branch 4 taken 4435901 times.
✓ Branch 5 taken 15293828 times.
53035683 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2209
2210 53035683 overtile8(dest,top,(dx<<3)+x,y,cset,0);
2211 53035683 overtile8(dest,bottom,(dx<<3)+x,((h-1)<<3)+y,cset,0);
2212 53035683 }
2213
2214
2/2
✓ Branch 0 taken 32605738 times.
✓ Branch 1 taken 15293828 times.
47899566 for(int32_t dy=1; dy<h-1; dy++)
2215 {
2216
2/2
✓ Branch 0 taken 16953613 times.
✓ Branch 1 taken 15652125 times.
32605738 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2217
2/2
✓ Branch 0 taken 16953613 times.
✓ Branch 1 taken 15652125 times.
32605738 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2218
2219 32605738 overtile8(dest,left,x,(dy<<3)+y,cset,0);
2220 32605738 overtile8(dest,right,((w-1)<<3)+x,(dy<<3)+y,cset,0);
2221
2222
2/2
✓ Branch 0 taken 57861453 times.
✓ Branch 1 taken 32605738 times.
90467191 for(int32_t dx=1; dx<w-1; dx++)
2223 {
2224
6/6
✓ Branch 0 taken 30150686 times.
✓ Branch 1 taken 27710767 times.
✓ Branch 2 taken 22003105 times.
✓ Branch 3 taken 8147581 times.
✓ Branch 4 taken 20698883 times.
✓ Branch 5 taken 7011884 times.
57861453 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2225 57861453 overtile8(dest,fill,(dx<<3)+x,(dy<<3)+y,cset,0);
2226 57861453 }
2227 32605738 }
2228 }
2229 15338173 }
2230 else
2231 {
2232
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 11691 times.
11691 if(trans)
2233 {
2234 for(int32_t dx=0; dx<w; dx++)
2235 {
2236 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2237 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2238
2239 puttiletranslucent8(dest,top,(dx<<3)+x,y,cset,0,128);
2240 puttiletranslucent8(dest,bottom,(dx<<3)+x,((h-1)<<3)+y,cset,0,128);
2241 }
2242
2243 for(int32_t dy=1; dy<h-1; dy++)
2244 {
2245 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2246 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2247
2248 puttiletranslucent8(dest,left,x,(dy<<3)+y,cset,0,128);
2249 puttiletranslucent8(dest,right,((w-1)<<3)+x,(dy<<3)+y,cset,0,128);
2250
2251 for(int32_t dx=1; dx<w-1; dx++)
2252 {
2253 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2254 puttiletranslucent8(dest,fill,(dx<<3)+x,(dy<<3)+y,cset,0,128);
2255 }
2256 }
2257 }
2258 else
2259 {
2260
2/2
✓ Branch 0 taken 187056 times.
✓ Branch 1 taken 11691 times.
198747 for(int32_t dx=0; dx<w; dx++)
2261 {
2262
6/6
✓ Branch 0 taken 93528 times.
✓ Branch 1 taken 93528 times.
✓ Branch 2 taken 11691 times.
✓ Branch 3 taken 81837 times.
✓ Branch 4 taken 81837 times.
✓ Branch 5 taken 11691 times.
187056 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2263
6/6
✓ Branch 0 taken 93528 times.
✓ Branch 1 taken 93528 times.
✓ Branch 2 taken 11691 times.
✓ Branch 3 taken 81837 times.
✓ Branch 4 taken 81837 times.
✓ Branch 5 taken 11691 times.
187056 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2264
2265 187056 oldputtile8(dest,top,(dx<<3)+x,y,cset,0);
2266 187056 oldputtile8(dest,bottom,(dx<<3)+x,((h-1)<<3)+y,cset,0);
2267 187056 }
2268
2269
2/2
✓ Branch 0 taken 93528 times.
✓ Branch 1 taken 11691 times.
105219 for(int32_t dy=1; dy<h-1; dy++)
2270 {
2271
2/2
✓ Branch 0 taken 46764 times.
✓ Branch 1 taken 46764 times.
93528 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2272
2/2
✓ Branch 0 taken 46764 times.
✓ Branch 1 taken 46764 times.
93528 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2273
2274 93528 oldputtile8(dest,left,x,(dy<<3)+y,cset,0);
2275 93528 oldputtile8(dest,right,((w-1)<<3)+x,(dy<<3)+y,cset,0);
2276
2277
2/2
✓ Branch 0 taken 1309392 times.
✓ Branch 1 taken 93528 times.
1402920 for(int32_t dx=1; dx<w-1; dx++)
2278 {
2279
6/6
✓ Branch 0 taken 654696 times.
✓ Branch 1 taken 654696 times.
✓ Branch 2 taken 327348 times.
✓ Branch 3 taken 327348 times.
✓ Branch 4 taken 327348 times.
✓ Branch 5 taken 327348 times.
1309392 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2280 1309392 oldputtile8(dest,fill,(dx<<3)+x,(dy<<3)+y,cset,0);
2281 1309392 }
2282 93528 }
2283 }
2284 }
2285 15349864 }
2286
2287 2546706 void drawgrid(BITMAP *dest,int32_t x,int32_t y,int32_t c1,int32_t c2)
2288 {
2289 2546706 int32_t si=0;
2290
2291
2/2
✓ Branch 0 taken 20373648 times.
✓ Branch 1 taken 2546706 times.
22920354 for(int32_t y2=0; y2<=7; ++y2)
2292 {
2293 20373648 byte dl = DMaps[get_currdmap()].grid[si];
2294
2295
2/2
✓ Branch 0 taken 162989184 times.
✓ Branch 1 taken 20373648 times.
183362832 for(int32_t x2=0; x2<=7; ++x2)
2296 {
2297
2/2
✓ Branch 0 taken 15707392 times.
✓ Branch 1 taken 147281792 times.
162989184 if(c2==-1)
2298 {
2299
2/2
✓ Branch 0 taken 78639621 times.
✓ Branch 1 taken 68642171 times.
147281792 if(dl&0x80)
2300 68642171 rectfill(dest,(x2*8)+x,(y2*4)+y,(x2*8)+x+6,(y2*4)+y+2,c1);
2301 147281792 }
2302 else
2303 {
2304 15707392 rectfill(dest,(x2*8)+x,(y2*4)+y,(x2*8)+x+6,(y2*4)+y+2,c2);
2305
2306
1/2
✓ Branch 0 taken 15707392 times.
✗ Branch 1 not taken.
15707392 if(dl&0x80)
2307 rectfill(dest,(x2*8)+x+2,(y2*4)+y,(x2*8)+x+4,(y2*4)+y+2,c1);
2308 }
2309
2310 162989184 dl<<=1;
2311 162989184 }
2312
2313 20373648 ++si;
2314 20373648 }
2315 2546706 }
2316
2317 2931056 void draw_block(BITMAP *dest,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h)
2318 {
2319
2/2
✓ Branch 0 taken 8796940 times.
✓ Branch 1 taken 2931056 times.
11727996 for(int32_t j=0; j<h; j++)
2320
2/2
✓ Branch 0 taken 44103039 times.
✓ Branch 1 taken 8796940 times.
52899979 for(int32_t i=0; i<w; i++)
2321 52899979 overtile16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0);
2322 2931056 }
2323
2324 13084274 void draw_block_flip(BITMAP *dest,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h,int32_t flip,bool overlay,bool trans)
2325 {
2326
2/2
✓ Branch 0 taken 13061297 times.
✓ Branch 1 taken 22977 times.
13084274 if(overlay)
2327 {
2328
1/5
✗ Branch 0 not taken.
✓ Branch 1 taken 13061297 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
13061297 switch(flip&3)
2329 {
2330 case 0:
2331
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 13061297 times.
13061297 if(trans)
2332 {
2333 for(int32_t j=0; j<h; j++)
2334 {
2335 for(int32_t i=0; i<w; i++)
2336 {
2337 overtiletranslucent16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0,255-trans);
2338 }
2339 }
2340 }
2341 else
2342 {
2343
2/2
✓ Branch 0 taken 15306933 times.
✓ Branch 1 taken 13061297 times.
28368230 for(int32_t j=0; j<h; j++)
2344 {
2345
2/2
✓ Branch 0 taken 40578694 times.
✓ Branch 1 taken 15306933 times.
55885627 for(int32_t i=0; i<w; i++)
2346 {
2347 40578694 overtile16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0);
2348 40578694 }
2349 15306933 }
2350 }
2351
2352 13061297 break;
2353
2354 case 1: //horizontal
2355 if(trans)
2356 {
2357 for(int32_t j=0; j<h; j++)
2358 {
2359 for(int32_t i=0; i<w; i++)
2360 {
2361 overtiletranslucent16(dest,tile+j*20+(w-i-1),x+(i<<4),y+(j<<4),cset,1,255-trans);
2362 }
2363 }
2364 }
2365 else
2366 {
2367 for(int32_t j=0; j<h; j++)
2368 {
2369 for(int32_t i=0; i<w; i++)
2370 {
2371 overtile16(dest,tile+j*20+(w-i-1),x+(i<<4),y+(j<<4),cset,1);
2372 }
2373 }
2374 }
2375
2376 break;
2377
2378 case 2:
2379 if(trans)
2380 {
2381 for(int32_t j=0; j<h; j++)
2382 {
2383 for(int32_t i=0; i<w; i++)
2384 {
2385 overtiletranslucent16(dest,tile+(h-j-1)*20+i,x+(i<<4),y+(j<<4),cset,2,255-trans);
2386 }
2387 }
2388 }
2389 else
2390 {
2391 for(int32_t j=0; j<h; j++)
2392 {
2393 for(int32_t i=0; i<w; i++)
2394 {
2395 overtile16(dest,tile+(h-j-1)*20+i,x+(i<<4),y+(j<<4),cset,2);
2396 }
2397 }
2398 }
2399
2400 break;
2401
2402 case 3:
2403 if(trans)
2404 {
2405 for(int32_t j=0; j<h; j++)
2406 {
2407 for(int32_t i=0; i<w; i++)
2408 {
2409 overtiletranslucent16(dest,tile+(h-j-1)*20+(w-i-1),x+(i<<4),y+(j<<4),cset,3,255-trans);
2410 }
2411 }
2412 }
2413 else
2414 {
2415 for(int32_t j=0; j<h; j++)
2416 {
2417 for(int32_t i=0; i<w; i++)
2418 {
2419 overtile16(dest,tile+(h-j-1)*20+(w-i-1),x+(i<<4),y+(j<<4),cset,3);
2420 }
2421 }
2422 }
2423
2424 break;
2425 }
2426 13061297 }
2427 else
2428 {
2429
1/5
✗ Branch 0 not taken.
✓ Branch 1 taken 22977 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
22977 switch(flip&3)
2430 {
2431 case 0:
2432
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 22977 times.
22977 if(trans)
2433 {
2434 for(int32_t j=0; j<h; j++)
2435 {
2436 for(int32_t i=0; i<w; i++)
2437 {
2438 puttiletranslucent16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0,255-trans);
2439 }
2440 }
2441 }
2442 else
2443 {
2444
2/2
✓ Branch 0 taken 118148 times.
✓ Branch 1 taken 22977 times.
141125 for(int32_t j=0; j<h; j++)
2445 {
2446
2/2
✓ Branch 0 taken 708888 times.
✓ Branch 1 taken 118148 times.
827036 for(int32_t i=0; i<w; i++)
2447 {
2448 708888 oldputtile16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0);
2449 708888 }
2450 118148 }
2451 }
2452
2453 22977 break;
2454
2455 case 1: //horizontal
2456 if(trans)
2457 {
2458 for(int32_t j=0; j<h; j++)
2459 {
2460 for(int32_t i=0; i<w; i++)
2461 {
2462 puttiletranslucent16(dest,tile+j*20+(w-i-1),x+(i<<4),y+(j<<4),cset,1,255-trans);
2463 }
2464 }
2465 }
2466 else
2467 {
2468 for(int32_t j=0; j<h; j++)
2469 {
2470 for(int32_t i=0; i<w; i++)
2471 {
2472 oldputtile16(dest,tile+j*20+(w-i-1),x+(i<<4),y+(j<<4),cset,1);
2473 }
2474 }
2475 }
2476
2477 break;
2478
2479 case 2:
2480 if(trans)
2481 {
2482 for(int32_t j=0; j<h; j++)
2483 {
2484 for(int32_t i=0; i<w; i++)
2485 {
2486 puttiletranslucent16(dest,tile+(h-j-1)*20+i,x+(i<<4),y+(j<<4),cset,2,255-trans);
2487 }
2488 }
2489 }
2490 else
2491 {
2492 for(int32_t j=0; j<h; j++)
2493 {
2494 for(int32_t i=0; i<w; i++)
2495 {
2496 oldputtile16(dest,tile+(h-j-1)*20+i,x+(i<<4),y+(j<<4),cset,2);
2497 }
2498 }
2499 }
2500
2501 break;
2502
2503 case 3:
2504 if(trans)
2505 {
2506 for(int32_t j=0; j<h; j++)
2507 {
2508 for(int32_t i=0; i<w; i++)
2509 {
2510 puttiletranslucent16(dest,tile+(h-j-1)*20+(w-i-1),x+(i<<4),y+(j<<4),cset,3,255-trans);
2511 }
2512 }
2513 }
2514 else
2515 {
2516 for(int32_t j=0; j<h; j++)
2517 {
2518 for(int32_t i=0; i<w; i++)
2519 {
2520 oldputtile16(dest,tile+(h-j-1)*20+(w-i-1),x+(i<<4),y+(j<<4),cset,3);
2521 }
2522 }
2523 }
2524
2525 break;
2526 }
2527 }
2528 13084274 }
2529
2530 7022166 void drawdmap(BITMAP *dest, miscQdata *misc, int32_t x, int32_t y, bool showmap, int32_t showhero, int32_t showcompass, int32_t herocolor, int32_t lccolor, int32_t dccolor)
2531 {
2532 7022166 zcolors c=misc->colors;
2533 7022166 int32_t type = (DMaps[get_currdmap()].type&dmfTYPE);
2534
2535
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 7022166 times.
7022166 if(showmap)
2536 {
2537
2/3
✓ Branch 0 taken 2250181 times.
✓ Branch 1 taken 4771985 times.
✗ Branch 2 not taken.
7022166 switch(type)
2538 {
2539 case dmOVERW:
2540 case dmBSOVERW:
2541 {
2542
3/4
✓ Branch 0 taken 35285 times.
✓ Branch 1 taken 2214896 times.
✓ Branch 2 taken 35285 times.
✗ Branch 3 not taken.
2250181 int32_t maptile=(!get_bit(quest_rules, qr_BROKEN_OVERWORLD_MINIMAP) && has_item(itype_map, get_dlevel()))?DMaps[get_currdmap()].minimap_2_tile:DMaps[get_currdmap()].minimap_1_tile;
2543
3/4
✓ Branch 0 taken 35285 times.
✓ Branch 1 taken 2214896 times.
✓ Branch 2 taken 35285 times.
✗ Branch 3 not taken.
2250181 int32_t mapcset=(!get_bit(quest_rules, qr_BROKEN_OVERWORLD_MINIMAP) && has_item(itype_map, get_dlevel()))?DMaps[get_currdmap()].minimap_2_cset:DMaps[get_currdmap()].minimap_1_cset;
2544 //What a mess. The map drawing is based on a variable that can change states during a scrolling transition when warping. -Z
2545
2/2
✓ Branch 0 taken 18624 times.
✓ Branch 1 taken 2231557 times.
2250181 if(maptile)
2546 {
2547 18624 draw_block(dest,x,y,maptile,mapcset,5,3);
2548 18624 }
2549
3/4
✓ Branch 0 taken 1075190 times.
✓ Branch 1 taken 1156367 times.
✓ Branch 2 taken 1075190 times.
✗ Branch 3 not taken.
2231557 else if(c.overworld_map_tile || c.overworld_map_tile)
2550 {
2551
1/2
✓ Branch 0 taken 1156367 times.
✗ Branch 1 not taken.
1156367 draw_block(dest,x,y,(c.overworld_map_tile!=0?c.overworld_map_tile:c.overworld_map_tile),c.overworld_map_cset,5,3);
2552 1156367 }
2553 else
2554 {
2555 1075190 rectfill(dest,x+8,y+8,x+71,y+39,c.overw_bg);
2556 }
2557
2558
4/4
✓ Branch 0 taken 2231557 times.
✓ Branch 1 taken 18624 times.
✓ Branch 2 taken 1986129 times.
✓ Branch 3 taken 245428 times.
2250181 if(!DMaps[get_currdmap()].minimap_1_tile && ((DMaps[get_currdmap()].type&dmfTYPE) == dmBSOVERW))
2559 {
2560 245428 drawgrid(dest,x+8,y+8,c.bs_goal,c.bs_dk);
2561 245428 }
2562
2563 2250181 break;
2564 }
2565 case dmDNGN:
2566 case dmCAVE:
2567 {
2568
2/2
✓ Branch 0 taken 2375494 times.
✓ Branch 1 taken 2396491 times.
4771985 int32_t maptile=has_item(itype_map, get_dlevel())?DMaps[get_currdmap()].minimap_2_tile:DMaps[get_currdmap()].minimap_1_tile;
2569
2/2
✓ Branch 0 taken 2375494 times.
✓ Branch 1 taken 2396491 times.
4771985 int32_t mapcset=has_item(itype_map, get_dlevel())?DMaps[get_currdmap()].minimap_2_cset:DMaps[get_currdmap()].minimap_1_cset;
2570 //What a mess. The map drawing is based on a variable that can change states during a scrolling transition when warping. -Z
2571
2/2
✓ Branch 0 taken 119555 times.
✓ Branch 1 taken 4652430 times.
4771985 if(maptile)
2572 {
2573 119555 draw_block(dest,x,y,maptile,mapcset,5,3);
2574 119555 }
2575
3/4
✓ Branch 0 taken 3044679 times.
✓ Branch 1 taken 1607751 times.
✓ Branch 2 taken 3044679 times.
✗ Branch 3 not taken.
4652430 else if(c.dungeon_map_tile||c.dungeon_map_tile)
2576 {
2577
1/2
✓ Branch 0 taken 1607751 times.
✗ Branch 1 not taken.
1607751 draw_block(dest,x,y,(c.dungeon_map_tile!=0?c.dungeon_map_tile:c.dungeon_map_tile),c.dungeon_map_cset,5,3);
2578 1607751 }
2579 else
2580 {
2581 3044679 rectfill(dest,x+8,y+8,x+71,y+39,c.dngn_bg);
2582 }
2583 //Marking this as a possible area for the scrolling warp map bug reported by Lut. -Z
2584
4/4
✓ Branch 0 taken 4677820 times.
✓ Branch 1 taken 94165 times.
✓ Branch 2 taken 2376542 times.
✓ Branch 3 taken 2301278 times.
4771985 if(!DMaps[get_currdmap()].minimap_2_tile && has_item(itype_map, get_dlevel()))
2585 {
2586
2/2
✓ Branch 0 taken 33251 times.
✓ Branch 1 taken 2268027 times.
2301278 if((DMaps[get_currdmap()].flags&dmfMINIMAPCOLORFIX) != 0)
2587 {
2588 33251 drawgrid(dest,x+8,y+8,c.cave_fg,-1);
2589 33251 }
2590 else
2591 {
2592 2268027 drawgrid(dest,x+8,y+8,c.dngn_fg,-1);
2593 }
2594 2301278 }
2595
2596 4771985 break;
2597 }
2598 }
2599 7022166 }
2600
2601
1/2
✓ Branch 0 taken 7022166 times.
✗ Branch 1 not taken.
7022166 if(showcompass)
2602 {
2603
4/4
✓ Branch 0 taken 2567771 times.
✓ Branch 1 taken 4454395 times.
✓ Branch 2 taken 317590 times.
✓ Branch 3 taken 2250181 times.
7022166 if(type==dmDNGN || type==dmCAVE)
2604 {
2605
4/4
✓ Branch 0 taken 4768625 times.
✓ Branch 1 taken 3360 times.
✓ Branch 2 taken 1986052 times.
✓ Branch 3 taken 2782573 times.
4771985 if(show_subscreen_dmap_dots&&has_item(itype_compass, get_dlevel()))
2606 {
2607 2782573 int32_t c2 = dccolor;
2608
2609
4/4
✓ Branch 0 taken 2551789 times.
✓ Branch 1 taken 230784 times.
✓ Branch 2 taken 1286494 times.
✓ Branch 3 taken 1265295 times.
2782573 if(!has_item(itype_triforcepiece, get_dlevel()) && (frame&16))
2610 1265295 c2 = lccolor;
2611
2612 2782573 int32_t cx = ((DMaps[get_currdmap()].compass&15)<<3)+x+10;
2613 2782573 int32_t cy = ((DMaps[get_currdmap()].compass&0xF0)>>2)+y+8;
2614 2782573 putdot(dest,cx,cy,c2);
2615 2782573 }
2616 4771985 }
2617 7022166 }
2618
2619
1/2
✓ Branch 0 taken 7022166 times.
✗ Branch 1 not taken.
7022166 if(showhero)
2620 {
2621
4/4
✓ Branch 0 taken 7014246 times.
✓ Branch 1 taken 7920 times.
✓ Branch 2 taken 54 times.
✓ Branch 3 taken 7014192 times.
7022166 if(show_subscreen_dmap_dots && herocolor != 255)
2622 {
2623
2/2
✓ Branch 0 taken 2000187 times.
✓ Branch 1 taken 5014005 times.
7014192 if(type==dmOVERW)
2624 {
2625 2000187 putdot(dest,((get_homescr()&15)<<2)+x+9,((get_homescr()&0xF0)>>2)+y+8,herocolor);
2626 2000187 }
2627
6/6
✓ Branch 0 taken 4768582 times.
✓ Branch 1 taken 245423 times.
✓ Branch 2 taken 317590 times.
✓ Branch 3 taken 4450992 times.
✓ Branch 4 taken 4555237 times.
✓ Branch 5 taken 213345 times.
5014005 else if(type==dmBSOVERW || ((type==dmDNGN || type==dmCAVE) && get_currscr()<128))
2628 {
2629 4800660 putdot(dest,(((get_homescr()&15)-DMaps[get_currdmap()].xoff)<<3)+x+10,((get_homescr()&0xF0)>>2)+y+8,herocolor);
2630 4800660 }
2631 7014192 }
2632 7022166 }
2633 7022166 }
2634
2635 6455809 void lifemeter(BITMAP *dest,int32_t x,int32_t y,int32_t cs,bool bs_style)
2636 {
2637
2/2
✓ Branch 0 taken 6446801 times.
✓ Branch 1 taken 9008 times.
6455809 if(!show_subscreen_life)
2638 {
2639 9008 return;
2640 }
2641
2642
2/2
✓ Branch 0 taken 1380667 times.
✓ Branch 1 taken 5066134 times.
6446801 if(!bs_style)
2643 {
2644 5066134 y+=24;
2645 5066134 }
2646 6446801 int32_t tile = 0;
2647 6446801 const int32_t basetile = wpnsbuf[iwQuarterHearts].tile;
2648
2/4
✓ Branch 0 taken 6446801 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 6446801 times.
✗ Branch 3 not taken.
6446801 const int32_t max_iter = (game != NULL ? zc_min(game->get_maxlife(),game->get_hp_per_heart()*24) : 1);
2649
1/2
✓ Branch 0 taken 6446801 times.
✗ Branch 1 not taken.
6446801 const int32_t inc = (game != NULL ? game->get_hp_per_heart() : 16);
2650
2651
2/2
✓ Branch 0 taken 6446801 times.
✓ Branch 1 taken 71139992 times.
77586793 for(int32_t i=0; i<max_iter; i+=inc)
2652 {
2653
1/2
✓ Branch 0 taken 71139992 times.
✗ Branch 1 not taken.
71139992 if(game != NULL)
2654 {
2655
2/2
✓ Branch 0 taken 22212507 times.
✓ Branch 1 taken 48927485 times.
71139992 if(get_bit(quest_rules,qr_QUARTERHEART))
2656 {
2657
2/2
✓ Branch 0 taken 18845172 times.
✓ Branch 1 taken 3367335 times.
22212507 if(i+((game->get_hp_per_heart()/4)*3)>=game->get_life()) tile= (basetile*4)+2;
2658
2659
2/2
✓ Branch 0 taken 19077940 times.
✓ Branch 1 taken 3134567 times.
22212507 if(i+(game->get_hp_per_heart()/2)>=game->get_life()) tile=1;
2660
2661
2/2
✓ Branch 0 taken 19496098 times.
✓ Branch 1 taken 2716409 times.
22212507 if(i+((game->get_hp_per_heart()/4)*1)>=game->get_life()) tile= (basetile*4)+3;
2662 22212507 }
2663
2/2
✓ Branch 0 taken 37213299 times.
✓ Branch 1 taken 11714186 times.
48927485 else if(i+(game->get_hp_per_heart()/2)>=game->get_life()) tile=1;
2664
2665
2/2
✓ Branch 0 taken 58272008 times.
✓ Branch 1 taken 12867984 times.
71139992 if(i>=game->get_life()) tile=4;
2666 71139992 }
2667 else
2668 tile=4;
2669
2670 71139992 overtile8(dest,tile,x,y,cs,0);
2671 71139992 x+=8;
2672
2673
2/2
✓ Branch 0 taken 65120113 times.
✓ Branch 1 taken 6019879 times.
71139992 if(((i>>4)&7)==7)
2674 {
2675 6019879 x-=64;
2676 6019879 y+=bs_style?8:-8;
2677 6019879 }
2678 71139992 }
2679 6455809 }
2680
2681 10597082 void magicgauge(BITMAP *dest,int32_t x,int32_t y, int32_t container, int32_t notlast_tile, int32_t notlast_cset, bool notlast_mod, int32_t last_tile, int32_t last_cset, bool last_mod,
2682 int32_t cap_tile, int32_t cap_cset, bool cap_mod, int32_t aftercap_tile, int32_t aftercap_cset, bool aftercap_mod, int32_t frames, int32_t speed, int32_t delay, bool unique_last, int32_t show)
2683 {
2684 //these are here to bypass compiler warnings about unused arguments
2685 10597082 frames=frames;
2686 10597082 speed=speed;
2687 10597082 delay=delay;
2688
2689 // show
2690 // <0: always
2691 // >=0: when drain rate matches show
2692
2/2
✓ Branch 0 taken 9061712 times.
✓ Branch 1 taken 1535370 times.
10597082 if(show > -1)
2693 {
2694
2/2
✓ Branch 0 taken 566357 times.
✓ Branch 1 taken 969013 times.
1535370 if(show != game->get_magicdrainrate())
2695 566357 return;
2696 969013 }
2697
2698 10030725 int32_t containers=game->get_maxmagic()/game->get_mp_per_block();
2699 10030725 int32_t tile=zc_oldrand()%32767, cset=zc_oldrand()%15;
2700 10030725 bool mod_value=(zc_oldrand()%2)!=0;
2701
2702
2/2
✓ Branch 0 taken 3559346 times.
✓ Branch 1 taken 6471379 times.
10030725 if(container<containers)
2703 {
2704 3559346 tile=notlast_tile;
2705 3559346 cset=notlast_cset;
2706 3559346 mod_value=notlast_mod;
2707 3559346 }
2708
2/2
✓ Branch 0 taken 506575 times.
✓ Branch 1 taken 5964804 times.
6471379 else if(container==containers)
2709 {
2710 506575 tile=last_tile;
2711 506575 cset=last_cset;
2712 506575 mod_value=last_mod;
2713 506575 }
2714
2/2
✓ Branch 0 taken 608488 times.
✓ Branch 1 taken 5356316 times.
5964804 else if(container==containers+1)
2715 {
2716 608488 tile=cap_tile;
2717 608488 cset=cap_cset;
2718 608488 mod_value=cap_mod;
2719 608488 }
2720 else //if (container>containers+1)
2721 {
2722 5356316 tile=aftercap_tile;
2723 5356316 cset=aftercap_cset;
2724 5356316 mod_value=aftercap_mod;
2725 }
2726
2727
2/2
✓ Branch 0 taken 5964804 times.
✓ Branch 1 taken 4065921 times.
10030725 if(mod_value)
2728 {
2729
2/2
✓ Branch 0 taken 3671889 times.
✓ Branch 1 taken 394032 times.
4065921 if(game->get_magic()>=container*game->get_mp_per_block())
2730 {
2731 //tile=tile; //full block
2732
2/2
✓ Branch 0 taken 3405842 times.
✓ Branch 1 taken 266047 times.
3671889 if(game->get_magic()==container*game->get_mp_per_block())
2733 {
2734
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 266047 times.
266047 if(unique_last)
2735 {
2736 tile+=game->get_mp_per_block()+3;
2737 }
2738 266047 }
2739 3671889 }
2740 else
2741 {
2742
2/2
✓ Branch 0 taken 140831 times.
✓ Branch 1 taken 253201 times.
394032 if(((container-1)*game->get_mp_per_block())>game->get_magic())
2743 {
2744 140831 tile+=4; //empty block
2745 140831 }
2746 else
2747 {
2748 253201 tile+=4+((game->get_magic()-((container-1)*game->get_mp_per_block()))%game->get_mp_per_block());
2749 }
2750 }
2751 4065921 }
2752
2753 //tile=14161*4;
2754 10030725 overtile8(dest,tile,x,y,cset,0);
2755
2756 10597082 }
2757
2758 22954720 void lifegauge(BITMAP *dest,int32_t x,int32_t y, int32_t container, int32_t notlast_tile, int32_t notlast_cset, bool notlast_mod, int32_t last_tile, int32_t last_cset, bool last_mod,
2759 int32_t cap_tile, int32_t cap_cset, bool cap_mod, int32_t aftercap_tile, int32_t aftercap_cset, bool aftercap_mod, int32_t frames, int32_t speed, int32_t delay, bool unique_last)
2760 {
2761 //these are here to bypass compiler warnings about unused arguments
2762 22954720 frames=frames;
2763 22954720 speed=speed;
2764 22954720 delay=delay;
2765
2766 22954720 int32_t containers=game->get_maxlife()/game->get_hp_per_heart();
2767 22954720 int32_t tile=zc_oldrand()%32767, cset=zc_oldrand()%15;
2768 22954720 bool mod_value=(zc_oldrand()%2)!=0;
2769
2770
2/2
✓ Branch 0 taken 6292607 times.
✓ Branch 1 taken 16662113 times.
22954720 if(container<containers)
2771 {
2772 6292607 tile=notlast_tile;
2773 6292607 cset=notlast_cset;
2774 6292607 mod_value=notlast_mod;
2775 6292607 }
2776
2/2
✓ Branch 0 taken 1393989 times.
✓ Branch 1 taken 15268124 times.
16662113 else if(container==containers)
2777 {
2778 1393989 tile=last_tile;
2779 1393989 cset=last_cset;
2780 1393989 mod_value=last_mod;
2781 1393989 }
2782
2/2
✓ Branch 0 taken 1296965 times.
✓ Branch 1 taken 13971159 times.
15268124 else if(container==containers+1)
2783 {
2784 1296965 tile=cap_tile;
2785 1296965 cset=cap_cset;
2786 1296965 mod_value=cap_mod;
2787 1296965 }
2788 else //if (container>containers+1)
2789 {
2790 13971159 tile=aftercap_tile;
2791 13971159 cset=aftercap_cset;
2792 13971159 mod_value=aftercap_mod;
2793 }
2794
2795
2/2
✓ Branch 0 taken 15268124 times.
✓ Branch 1 taken 7686596 times.
22954720 if(mod_value)
2796 {
2797
2/2
✓ Branch 0 taken 6118735 times.
✓ Branch 1 taken 1567861 times.
7686596 if(game->get_life()>=container*game->get_hp_per_heart())
2798 {
2799 //tile=tile; //full block
2800
2/2
✓ Branch 0 taken 5201075 times.
✓ Branch 1 taken 917660 times.
6118735 if(game->get_life()==container*game->get_hp_per_heart())
2801 {
2802
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 917660 times.
917660 if(unique_last)
2803 {
2804 tile+=game->get_hp_per_heart()+3;
2805 }
2806 917660 }
2807 6118735 }
2808 else
2809 {
2810
2/2
✓ Branch 0 taken 990937 times.
✓ Branch 1 taken 576924 times.
1567861 if(((container-1)*game->get_hp_per_heart())>game->get_life())
2811 {
2812 990937 tile+=4; //empty block
2813 990937 }
2814 else
2815 {
2816 576924 tile+=4+((game->get_life()-((container-1)*game->get_hp_per_heart()))%game->get_hp_per_heart());
2817 }
2818 }
2819 7686596 }
2820
2821 22954720 overtile8(dest,tile,x,y,cset,0);
2822
2823 22954720 }
2824
2825
2826 1829921 void magicmeter(BITMAP *dest,int32_t x,int32_t y)
2827 {
2828
1/2
✓ Branch 0 taken 1829921 times.
✗ Branch 1 not taken.
1829921 if(!get_bit(quest_rules,qr_ENABLEMAGIC)) return;
2829
2830
2/2
✓ Branch 0 taken 1740862 times.
✓ Branch 1 taken 89059 times.
1829921 if(game->get_maxmagic()==0) return;
2831
2832 int32_t tile;
2833 1740862 int32_t mmtile=wpnsbuf[iwMMeter].tile;
2834 1740862 int32_t mmcset=wpnsbuf[iwMMeter].csets&15;
2835 1740862 overtile8(dest,(mmtile*4)+2,x-8,y,mmcset,0);
2836
2837
2/2
✓ Branch 0 taken 871195 times.
✓ Branch 1 taken 869667 times.
1740862 if(game->get_magicdrainrate()==1)
2838 {
2839 871195 overtile8(dest,(mmtile*4)+1,x-10,y,mmcset,0);
2840 871195 }
2841
2842
2/2
✓ Branch 0 taken 4290861 times.
✓ Branch 1 taken 1740862 times.
6031723 for(int32_t i=0; i<game->get_maxmagic(); i+=game->get_mp_per_block())
2843 {
2844
2/2
✓ Branch 0 taken 3074765 times.
✓ Branch 1 taken 1216096 times.
4290861 if(game->get_magic()>=i+game->get_mp_per_block())
2845 {
2846 3074765 tile=mmtile*4; //full block
2847 3074765 }
2848 else
2849 {
2850
2/2
✓ Branch 0 taken 251981 times.
✓ Branch 1 taken 964115 times.
1216096 if(i>game->get_magic())
2851 {
2852 251981 tile=((mmtile+1)*4); //empty block
2853 251981 }
2854 else
2855 {
2856 964115 tile=((mmtile+1)*4)+((game->get_magic()-i)%game->get_mp_per_block());
2857 }
2858 }
2859
2860 4290861 overtile8(dest,tile,x,y,mmcset,0);
2861 4290861 x+=8;
2862 4290861 }
2863
2864 1740862 overtile8(dest,(mmtile*4)+3,x,y,mmcset,0);
2865
2866 1829921 }
2867
2868 17166127 void putxnum(BITMAP *dest,int32_t x,int32_t y,int32_t num,FONT *tempfont,int32_t color,int32_t shadowcolor,int32_t bgcolor,int32_t textstyle,bool usex,int32_t digits,bool infinite,char idigit)
2869 {
2870
2/2
✓ Branch 0 taken 27024 times.
✓ Branch 1 taken 17139103 times.
17166127 if(!show_subscreen_numbers)
2871 {
2872 27024 return;
2873 }
2874
2875 17139103 int32_t found_digits=5;
2876
2877
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 17139103 times.
17139103 if(num<10000)
2878 {
2879 17139103 found_digits=4;
2880 17139103 }
2881
2882
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 17139103 times.
17139103 if(num<1000)
2883 {
2884 17139103 found_digits=3;
2885 17139103 }
2886
2887
2/2
✓ Branch 0 taken 3653449 times.
✓ Branch 1 taken 13485654 times.
17139103 if(num<100)
2888 {
2889 13485654 found_digits=2;
2890 13485654 }
2891
2892
2/2
✓ Branch 0 taken 7057239 times.
✓ Branch 1 taken 10081864 times.
17139103 if(num<10)
2893 {
2894 10081864 found_digits=1;
2895 10081864 }
2896
2897
2/2
✓ Branch 0 taken 1088842 times.
✓ Branch 1 taken 16050261 times.
17139103 if(infinite)
2898 {
2899 1088842 textprintf_styled_aligned_ex(dest,tempfont,x,y,textstyle,sstaLEFT,color,shadowcolor,bgcolor,"%s%c",usex?"X":"",idigit);
2900 1088842 }
2901 else
2902 {
2903
1/2
✓ Branch 0 taken 16050261 times.
✗ Branch 1 not taken.
16050261 textprintf_styled_aligned_ex(dest,tempfont,x,y,textstyle,sstaLEFT,color,shadowcolor,bgcolor,"%s%d",(usex && found_digits<digits)?"X":"",num);
2904 }
2905 17166127 }
2906
2907 /*
2908 INLINE void putdot(BITMAP *dest,int32_t x,int32_t y,int32_t c)
2909 {
2910 rectfill(dest,x,y,x+2,y+2,c);
2911 }
2912 */
2913
2914 /**** Subscr items code ****/
2915
2916 item *Bitem = NULL, *Aitem = NULL, *Yitem = NULL, *Xitem = NULL;
2917 int32_t Bid = 0, Aid = 0, Xid = 0, Yid = 0;
2918
2919 102 void reset_subscr_items()
2920 {
2921
2/2
✓ Branch 0 taken 31 times.
✓ Branch 1 taken 71 times.
102 if(Aitem)
2922 {
2923
1/2
✓ Branch 0 taken 71 times.
✗ Branch 1 not taken.
71 delete Aitem;
2924 71 Aitem = NULL;
2925 71 }
2926
2927
2/2
✓ Branch 0 taken 33 times.
✓ Branch 1 taken 69 times.
102 if(Bitem)
2928 {
2929
1/2
✓ Branch 0 taken 69 times.
✗ Branch 1 not taken.
69 delete Bitem;
2930 69 Bitem = NULL;
2931 69 }
2932
2/2
✓ Branch 0 taken 101 times.
✓ Branch 1 taken 1 times.
102 if(Yitem)
2933 {
2934
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 delete Yitem;
2935 1 Yitem = NULL;
2936 1 }
2937
2938
2/2
✓ Branch 0 taken 101 times.
✓ Branch 1 taken 1 times.
102 if(Xitem)
2939 {
2940
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 delete Xitem;
2941 1 Xitem = NULL;
2942 1 }
2943
2944 102 Aid = Bid = Yid = Xid = 0;
2945 102 }
2946
2947
2948 7801559 void update_subscr_items()
2949 {
2950
2/2
✓ Branch 0 taken 7793680 times.
✓ Branch 1 taken 7879 times.
7801559 if(Bid != Bwpn)
2951 {
2952 7879 Bid = 0;
2953
2954
2/2
✓ Branch 0 taken 94 times.
✓ Branch 1 taken 7785 times.
7879 if(Bitem)
2955 {
2956
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 7785 times.
7785 delete Bitem;
2957 7785 Bitem = NULL;
2958 7785 }
2959
2960
2/2
✓ Branch 0 taken 6 times.
✓ Branch 1 taken 7873 times.
7879 if(Bwpn > 0)
2961 {
2962
4/8
✓ Branch 0 taken 7873 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 7873 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 7873 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 7873 times.
✗ Branch 7 not taken.
7873 Bitem = new item((zfix)0, (zfix)0, (zfix)0, Bwpn&0x0FFF, 0, 0);
2963 7873 Bitem->dummy_bool[0]=false;
2964
2965
2/2
✓ Branch 0 taken 6788 times.
✓ Branch 1 taken 1085 times.
7873 switch(itemsbuf[Bwpn&0x0FFF].family)
2966 {
2967 case itype_arrow:
2968
1/2
✓ Branch 0 taken 1085 times.
✗ Branch 1 not taken.
1085 if((Bwpn&0xF000)==0xF000)
2969 {
2970 Bitem->dummy_bool[0]=true;
2971 }
2972
2973 1085 break;
2974 //default: break;
2975 }
2976
2977 // Bitem = new item((zfix)(zinit.subscreen<ssdtBSZELDA?124:136), (zfix)24,(zfix)0, Bwpn, 0, 0);
2978
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 7873 times.
7873 if(Bitem != NULL)
2979 {
2980 7873 Bid = Bwpn;
2981 7873 Bitem->yofs = 0;
2982 7873 Bitem->pickup |= ipDUMMY;
2983 7873 }
2984 7873 }
2985 7879 }
2986
2987
2/2
✓ Branch 0 taken 7801432 times.
✓ Branch 1 taken 127 times.
7801559 if(Aid != Awpn)
2988 {
2989 127 Aid = 0;
2990
2991
2/2
✓ Branch 0 taken 90 times.
✓ Branch 1 taken 37 times.
127 if(Aitem)
2992 {
2993
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 37 times.
37 delete Aitem;
2994 37 Aitem = NULL;
2995 37 }
2996
2997
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 127 times.
127 if(Awpn > 0)
2998 {
2999
4/8
✓ Branch 0 taken 127 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 127 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 127 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 127 times.
✗ Branch 7 not taken.
127 Aitem = new item((zfix)0, (zfix)0,(zfix)0,Awpn&0x0FFF, 0, 0);
3000
3001
1/2
✓ Branch 0 taken 127 times.
✗ Branch 1 not taken.
127 switch(itemsbuf[Awpn&0x0FFF].family)
3002 {
3003 case itype_arrow:
3004 if((Awpn&0xF000)==0xF000)
3005 {
3006 Aitem->dummy_bool[0]=true;
3007 }
3008
3009 break;
3010 //default: break;
3011 }
3012
3013
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 127 times.
127 if(Aitem != NULL)
3014 {
3015 127 Aid = Awpn;
3016 127 Aitem->yofs = 0;
3017 127 Aitem->pickup |= ipDUMMY;
3018 127 }
3019 127 }
3020 127 }
3021
3022
2/2
✓ Branch 0 taken 7801549 times.
✓ Branch 1 taken 10 times.
7801559 if(Xid != Xwpn)
3023 {
3024 10 Xid = 0;
3025
3026
2/2
✓ Branch 0 taken 6 times.
✓ Branch 1 taken 4 times.
10 if(Xitem)
3027 {
3028
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 4 times.
4 delete Xitem;
3029 4 Xitem = NULL;
3030 4 }
3031
3032
2/2
✓ Branch 0 taken 4 times.
✓ Branch 1 taken 6 times.
10 if(Xwpn > 0)
3033 {
3034
4/8
✓ Branch 0 taken 6 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 6 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 6 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 6 times.
✗ Branch 7 not taken.
6 Xitem = new item((zfix)0, (zfix)0,(zfix)0,Xwpn&0x0FFF, 0, 0);
3035
3036
1/2
✓ Branch 0 taken 6 times.
✗ Branch 1 not taken.
6 switch(itemsbuf[Xwpn&0x0FFF].family)
3037 {
3038 case itype_arrow:
3039 if((Xwpn&0xF000)==0xF000)
3040 {
3041 Xitem->dummy_bool[0]=true;
3042 }
3043
3044 break;
3045 //default: break;
3046 }
3047
3048
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 6 times.
6 if(Xitem != NULL)
3049 {
3050 6 Xid = Xwpn;
3051 6 Xitem->yofs = 0;
3052 6 Xitem->pickup |= ipDUMMY;
3053 6 }
3054 6 }
3055 10 }
3056
3057
2/2
✓ Branch 0 taken 7801540 times.
✓ Branch 1 taken 19 times.
7801559 if(Yid != Ywpn)
3058 {
3059 19 Yid = 0;
3060
3061
2/2
✓ Branch 0 taken 5 times.
✓ Branch 1 taken 14 times.
19 if(Yitem)
3062 {
3063
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 14 times.
14 delete Yitem;
3064 14 Yitem = NULL;
3065 14 }
3066
3067
2/2
✓ Branch 0 taken 3 times.
✓ Branch 1 taken 16 times.
19 if(Ywpn > 0)
3068 {
3069
4/8
✓ Branch 0 taken 16 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 16 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 16 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 16 times.
✗ Branch 7 not taken.
16 Yitem = new item((zfix)0, (zfix)0,(zfix)0,Ywpn&0x0FFF, 0, 0);
3070
3071
1/2
✓ Branch 0 taken 16 times.
✗ Branch 1 not taken.
16 switch(itemsbuf[Ywpn&0x0FFF].family)
3072 {
3073 case itype_arrow:
3074 if((Ywpn&0xF000)==0xF000)
3075 {
3076 Yitem->dummy_bool[0]=true;
3077 }
3078
3079 break;
3080 //default: break;
3081 }
3082
3083
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 16 times.
16 if(Yitem != NULL)
3084 {
3085 16 Yid = Ywpn;
3086 16 Yitem->yofs = 0;
3087 16 Yitem->pickup |= ipDUMMY;
3088 16 }
3089 16 }
3090 19 }
3091
3092
2/2
✓ Branch 0 taken 322364 times.
✓ Branch 1 taken 7479195 times.
7801559 if(Bitem)
3093 7479195 Bitem->animate(0);
3094
3095
2/2
✓ Branch 0 taken 310653 times.
✓ Branch 1 taken 7490906 times.
7801559 if(Aitem)
3096 7490906 Aitem->animate(0);
3097
3098
2/2
✓ Branch 0 taken 7774730 times.
✓ Branch 1 taken 26829 times.
7801559 if(Xitem)
3099 26829 Xitem->animate(0);
3100
3101
2/2
✓ Branch 0 taken 7725323 times.
✓ Branch 1 taken 76236 times.
7801559 if(Yitem)
3102 76236 Yitem->animate(0);
3103 7801559 }
3104
3105 538356 void add_subscr_item(item *newItem)
3106 {
3107 //al_trace("Adding a subscreen item, ID: %d\n",newItem->id); //Logging stuff to remove, later.
3108 538356 newItem->subscreenItem=true;
3109 538356 newItem->hide_hitbox=true;
3110 538356 Sitems.add(newItem);
3111 538356 }
3112
3113 /****/
3114 14128594 int32_t stripspaces(char *source, char *target, int32_t stop)
3115 {
3116 int32_t begin, end;
3117
3118
4/4
✓ Branch 0 taken 6885404 times.
✓ Branch 1 taken 82105785 times.
✓ Branch 2 taken 74862595 times.
✓ Branch 3 taken 14128594 times.
88991189 for(begin=0; ((begin<stop)&&(source[begin]==' ')); ++begin)
3119 {
3120 /* do nothing */
3121 74862595 }
3122
3123
2/2
✓ Branch 0 taken 6885404 times.
✓ Branch 1 taken 7243190 times.
14128594 if(begin==stop)
3124 {
3125 6885404 return 0;
3126 }
3127
3128
2/2
✓ Branch 0 taken 16640558 times.
✓ Branch 1 taken 7243190 times.
23883748 for(end=stop-1; source[end]==' '; --end)
3129 {
3130 /* do nothing */
3131 16640558 }
3132
3133 7243190 sprintf(target, "%.*s", (end-begin+1), source+begin);
3134 7243190 return (end-begin+1);
3135 14128594 }
3136
3137 bool findWeaponWithParent(int32_t id, int32_t type)
3138 {
3139 for (int32_t q = Lwpns.Count()-1; q >= 0; --q)
3140 {
3141 weapon *ew = (weapon*)(Lwpns.spr(q));
3142 if (ew->id != type || ew->parentitem != id) continue;
3143 return true;
3144 }
3145 return false;
3146 }
3147
3148 int32_t countWeaponWithParent(int32_t id, int32_t type)
3149 {
3150 int32_t count = 0;
3151 for (int32_t q = Lwpns.Count()-1; q >= 0; --q)
3152 {
3153 weapon *ew = (weapon*)(Lwpns.spr(q));
3154 if (ew->id != type || ew->parentitem != id) continue;
3155 ++count;
3156 }
3157 return count;
3158 }
3159
3160 // The conditions on which a subcreen item should be displayed.
3161 3764725 bool displaysubscreenitem(int32_t itemtype, int32_t d, int32_t id)
3162 {
3163
1/2
✓ Branch 0 taken 3764725 times.
✗ Branch 1 not taken.
3764725 if(game==NULL) //ZQuest
3164 return true;
3165
2/2
✓ Branch 0 taken 176356 times.
✓ Branch 1 taken 3588369 times.
3764725 if (get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) return true;
3166 //Okay, so the problem is that remote bombs are getting flagged with misc1 50, because
3167 //current item id is referring to your highest levelled item instead of the actual item.
3168 //Solution here is to have code for override items.
3169
2/2
✓ Branch 0 taken 1371 times.
✓ Branch 1 taken 3586998 times.
3588369 if (id < 0)
3170 {
3171
2/2
✓ Branch 0 taken 178653 times.
✓ Branch 1 taken 3408345 times.
3586998 if((itemtype == itype_bomb &&
3172 178653 !(game->get_bombs()
3173 // Remote Bombs: the bomb icon can still be used when an undetonated bomb is onscreen.
3174
3/4
✓ Branch 0 taken 1053 times.
✓ Branch 1 taken 177600 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 1053 times.
178653 || (itemsbuf[current_item_id(itype_bomb)].misc1==0 && Lwpns.idCount(wLitBomb)>0)
3175 1053 || current_item_power(itype_bombbag)))
3176
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 1053 times.
✓ Branch 2 taken 82148 times.
✓ Branch 3 taken 3503797 times.
3586998 || (itemtype == itype_sbomb &&
3177 82148 !(game->get_sbombs()
3178
3/4
✓ Branch 0 taken 24082 times.
✓ Branch 1 taken 58066 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 24082 times.
82148 || (itemsbuf[current_item_id(itype_sbomb)].misc1==0 && Lwpns.idCount(wLitSBomb)>0)
3179 24082 || (current_item_power(itype_bombbag)
3180
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 24082 times.
24082 && itemsbuf[current_item_id(itype_bombbag)].flags & ITEM_FLAG1))))
3181 25135 return false;
3182
3183
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3561863 times.
3561863 if(itemtype!=itype_bowandarrow ||
3184 d!=itype_arrow ||
3185 ((get_bit(quest_rules,qr_TRUEARROWS)&&game->get_arrows()) ||
3186 (!get_bit(quest_rules,qr_TRUEARROWS)&&game->get_rupies())))
3187 3561863 return true;
3188
3189 return false;
3190 }
3191 else
3192 {
3193
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1371 times.
1371 if((itemtype == itype_bomb &&
3194 !(game->get_bombs()
3195 // Remote Bombs: the bomb icon can still be used when an undetonated bomb is onscreen.
3196 || (itemsbuf[id].misc1==0 && findWeaponWithParent(id, wLitBomb))
3197 || current_item_power(itype_bombbag)))
3198
1/4
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1371 times.
1371 || (itemtype == itype_sbomb &&
3199 !(game->get_sbombs()
3200 || (itemsbuf[id].misc1==0 && findWeaponWithParent(id, wLitSBomb))
3201 || (current_item_power(itype_bombbag)
3202 && itemsbuf[current_item_id(itype_bombbag)].flags & ITEM_FLAG1))))
3203 return false;
3204
3205
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1371 times.
1371 if(itemtype!=itype_bowandarrow ||
3206 d!=itype_arrow ||
3207 ((get_bit(quest_rules,qr_TRUEARROWS)&&game->get_arrows()) ||
3208 (!get_bit(quest_rules,qr_TRUEARROWS)&&game->get_rupies())))
3209 1371 return true;
3210
3211 return false;
3212 }
3213 3764725 }
3214
3215 324753 int32_t get_subscreenitem_id(int32_t itemtype, bool forceItem)
3216 {
3217
3/4
✓ Branch 0 taken 324753 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 324513 times.
✓ Branch 3 taken 240 times.
324753 if(forceItem && (itemtype & 0x8000))
3218 240 return itemtype&0xFFF;
3219 // We need to do a reverse loop to prevent the Bow from being drawn above the Arrow (Bow & Arrow).
3220 324513 int32_t overridecheck = 0xFFFF;
3221
3222
2/2
✓ Branch 0 taken 4240823 times.
✓ Branch 1 taken 11206 times.
4252029 for(int32_t i=Sitems.Count()-1; i>=0; i--)
3223 {
3224
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 4240823 times.
4240823 if(itemtype & 0x8000) // if 0x8000, then itemtype is actually an item ID.
3225 {
3226 if(overridecheck==0xFFFF)
3227 {
3228 if(Sitems.spr(i)->id == (itemtype&0xFFF) && Sitems.spr(i)->misc==-1) overridecheck = i;
3229 }
3230 }
3231
2/2
✓ Branch 0 taken 11312 times.
✓ Branch 1 taken 4229511 times.
4240823 else if(Sitems.spr(i)->misc!=-1)
3232 {
3233 4229511 int32_t d= itemsbuf[Sitems.spr(i)->id].family;
3234
3235
2/2
✓ Branch 0 taken 3921106 times.
✓ Branch 1 taken 308405 times.
4229511 if((d==itemtype)||
3236
6/6
✓ Branch 0 taken 64836 times.
✓ Branch 1 taken 3856270 times.
✓ Branch 2 taken 612 times.
✓ Branch 3 taken 64224 times.
✓ Branch 4 taken 59934 times.
✓ Branch 5 taken 4902 times.
3921106 (itemtype==itype_letterpotion&&((d==itype_letter && current_item_id(itype_potion)==-1)||d==itype_potion))||
3237
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 3916204 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
3916204 (itemtype==itype_bowandarrow&&(d==itype_bow||d==itype_arrow)))
3238 {
3239 313307 return Sitems.spr(i)->id;
3240 }
3241 3916204 }
3242 3927516 }
3243
1/2
✓ Branch 0 taken 11206 times.
✗ Branch 1 not taken.
11206 if(forceItem)
3244 {
3245 11206 bool useLowestID = get_bit(quest_rules,qr_SUBSCR_BACKWARDS_ID_ORDER);
3246 11206 int32_t id = -1;
3247
2/2
✓ Branch 0 taken 154 times.
✓ Branch 1 taken 125350 times.
125504 for(auto q = 0; q < MAXITEMS; ++q)
3248 {
3249
2/2
✓ Branch 0 taken 114144 times.
✓ Branch 1 taken 11206 times.
125350 if(itemsbuf[q].family == itemtype)
3250 {
3251 11206 id = q;
3252
2/2
✓ Branch 0 taken 154 times.
✓ Branch 1 taken 11052 times.
11206 if(useLowestID) break;
3253 154 }
3254 114298 }
3255 11206 return id;
3256 }
3257
3258 //Item Override stuff here
3259 if((itemtype & 0x8000) &&
3260 (!game || game->item[itemtype&0xFFF])
3261 && !item_disabled(itemtype&0xFFF) && displaysubscreenitem(itemsbuf[itemtype&0xFFF].family, 0, (itemtype&0xFFF)))
3262 {
3263 return itemtype&0xFFF;
3264 }
3265 return -1;
3266 324753 }
3267
3268 item* get_subscreenitem(int32_t itemtype)
3269 {
3270 // We need to do a reverse loop to prevent the Bow from being drawn above the Arrow (Bow & Arrow).
3271 int32_t overridecheck = 0xFFFF;
3272
3273 for(int32_t i=Sitems.Count()-1; i>=0; i--)
3274 {
3275 if(itemtype & 0x8000) // if 0x8000, then itemtype is actually an item ID.
3276 {
3277 if(overridecheck==0xFFFF)
3278 {
3279 if(Sitems.spr(i)->id == (itemtype&0xFFF) && Sitems.spr(i)->misc==-1) overridecheck = i;
3280 }
3281 }
3282 else if(Sitems.spr(i)->misc!=-1)
3283 {
3284 int32_t d= itemsbuf[Sitems.spr(i)->id].family;
3285
3286 if((d==itemtype)||
3287 (itemtype==itype_letterpotion&&((d==itype_letter && current_item_id(itype_potion)==-1)||d==itype_potion))||
3288 (itemtype==itype_bowandarrow&&(d==itype_bow||d==itype_arrow)))
3289 {
3290 return (item*)Sitems.spr(i);
3291 }
3292 }
3293 }
3294
3295 //Item Override stuff here
3296 if((itemtype & 0x8000) &&
3297 (!game || game->item[itemtype&0xFFF])
3298 && !item_disabled(itemtype&0xFFF) && displaysubscreenitem(itemsbuf[itemtype&0xFFF].family, 0, (itemtype&0xFFF)))
3299 {
3300 if(overridecheck == 0xFFFF)
3301 {
3302 overridecheck = Sitems.Count()-1;
3303 }
3304 return (item*)Sitems.spr(overridecheck);
3305 }
3306 return NULL;
3307 }
3308
3309
3310 5666278 void subscreenitem(BITMAP *dest, int32_t x, int32_t y, int32_t itemtype)
3311 {
3312 // We need to do a reverse loop to prevent the Bow from being drawn above the Arrow (Bow & Arrow).
3313 5666278 int32_t overridecheck = 0xFFFF;
3314
3315
2/2
✓ Branch 0 taken 1906187 times.
✓ Branch 1 taken 77527181 times.
79433368 for(int32_t i=Sitems.Count()-1; i>=0; i--)
3316 {
3317
2/2
✓ Branch 0 taken 226774 times.
✓ Branch 1 taken 77300407 times.
77527181 if(itemtype & 0x8000) // if 0x8000, then itemtype is actually an item ID.
3318 {
3319
2/2
✓ Branch 0 taken 207578 times.
✓ Branch 1 taken 19196 times.
226774 if(overridecheck==0xFFFF)
3320 {
3321 //al_trace("Found an override item at subscreen.cpp linere 3084, id: %d\n",Sitems.spr(i)->id);
3322
3323
4/4
✓ Branch 0 taken 4610 times.
✓ Branch 1 taken 14586 times.
✓ Branch 2 taken 27 times.
✓ Branch 3 taken 4583 times.
19196 if(Sitems.spr(i)->id == (itemtype&0xFFF) && Sitems.spr(i)->misc==-1) overridecheck = i;
3324 19196 }
3325 226774 }
3326
2/2
✓ Branch 0 taken 201787 times.
✓ Branch 1 taken 77098620 times.
77300407 else if(Sitems.spr(i)->misc!=-1)
3327 {
3328 77098620 int32_t d= itemsbuf[Sitems.spr(i)->id].family;
3329
3330
2/2
✓ Branch 0 taken 73496390 times.
✓ Branch 1 taken 3602230 times.
77098620 if((d==itemtype)||
3331
6/6
✓ Branch 0 taken 2389854 times.
✓ Branch 1 taken 71106536 times.
✓ Branch 2 taken 29949 times.
✓ Branch 3 taken 2359905 times.
✓ Branch 4 taken 157861 times.
✓ Branch 5 taken 2231993 times.
73496390 (itemtype==itype_letterpotion&&((d==itype_letter && current_item_id(itype_potion)==-1)||d==itype_potion))||
3332
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 73338529 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
73338529 (itemtype==itype_bowandarrow&&(d==itype_bow||d==itype_arrow)))
3333 {
3334 3760091 Sitems.spr(i)->x = x;
3335 3760091 Sitems.spr(i)->y = y;
3336 3760091 Sitems.spr(i)->yofs=0;
3337
3338
2/2
✓ Branch 0 taken 25135 times.
✓ Branch 1 taken 3734956 times.
3760091 if(displaysubscreenitem(itemtype, d, -1))
3339 {
3340 3734956 Sitems.spr(i)->drawzcboss(dest);
3341 3734956 }
3342
3343
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3760091 times.
3760091 if(itemtype!=itype_bowandarrow)
3344 {
3345 3760091 return;
3346 }
3347 }
3348 73338529 }
3349 73767090 }
3350
3351 //Item Override stuff here
3352
3/4
✓ Branch 0 taken 1900292 times.
✓ Branch 1 taken 5895 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 4634 times.
1910821 if((itemtype & 0x8000) &&
3353
3/4
✓ Branch 0 taken 5895 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4634 times.
✓ Branch 3 taken 1261 times.
5895 (get_app_id() == App::zelda ? game->item[itemtype&0xFFF] : true) &&
3354 4634 !item_disabled(itemtype&0xFFF) && displaysubscreenitem(itemsbuf[itemtype&0xFFF].family, 0, (itemtype&0xFFF)))
3355 {
3356
2/2
✓ Branch 0 taken 4583 times.
✓ Branch 1 taken 51 times.
4634 if(overridecheck == 0xFFFF)
3357 {
3358 //al_trace("Found an override item at subscreen.cpp linere 3120, itemtype: %d\n",itemtype);
3359
3360
4/8
✓ Branch 0 taken 51 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 51 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 51 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 51 times.
✗ Branch 7 not taken.
51 add_subscr_item(new item((zfix)x,(zfix)y,(zfix)0,(itemtype&0xFFF),0,0));
3361 51 overridecheck = Sitems.Count()-1;
3362 51 Sitems.spr(overridecheck)->misc = -1;
3363 51 }
3364
3365 4634 Sitems.spr(overridecheck)->x = x;
3366 4634 Sitems.spr(overridecheck)->y = y;
3367 4634 Sitems.spr(overridecheck)->yofs=0;
3368 4634 Sitems.spr(overridecheck)->drawzcboss(dest);
3369 4634 }
3370 5666278 }
3371
3372 176992651 int32_t subscreen_color(miscQdata *misc, int32_t c1, int32_t c2)
3373 {
3374 int32_t ret;
3375
3376
3/3
✓ Branch 0 taken 58856687 times.
✓ Branch 1 taken 16041956 times.
✓ Branch 2 taken 102094008 times.
176992651 switch(c1)
3377 {
3378 case ssctSYSTEM:
3379
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 16041956 times.
16041956 ret=(c2==-1)?c2:vc(c2);
3380 16041956 break;
3381
3382 case ssctMISC:
3383
9/17
✗ Branch 0 not taken.
✓ Branch 1 taken 36492203 times.
✓ Branch 2 taken 8038014 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 6977821 times.
✓ Branch 10 taken 6977821 times.
✓ Branch 11 taken 36193549 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 45359 times.
✓ Branch 14 taken 14549 times.
✓ Branch 15 taken 181161 times.
✓ Branch 16 taken 7173531 times.
102094008 switch(c2)
3384 {
3385 case ssctTEXT:
3386 36492203 ret=misc->colors.text;
3387 36492203 break;
3388
3389 case ssctCAPTION:
3390 8038014 ret=misc->colors.caption;
3391 8038014 break;
3392
3393 case ssctOVERWBG:
3394 ret=misc->colors.overw_bg;
3395 break;
3396
3397 case ssctDNGNBG:
3398 ret=misc->colors.dngn_bg;
3399 break;
3400
3401 case ssctDNGNFG:
3402 ret=misc->colors.dngn_fg;
3403 break;
3404
3405 case ssctCAVEFG:
3406 ret=misc->colors.cave_fg;
3407 break;
3408
3409 case ssctBSDK:
3410 ret=misc->colors.bs_dk;
3411 break;
3412
3413 case ssctBSGOAL:
3414 ret=misc->colors.bs_goal;
3415 break;
3416
3417 case ssctCOMPASSLT:
3418 6977821 ret=misc->colors.compass_lt;
3419 6977821 break;
3420
3421 case ssctCOMPASSDK:
3422 6977821 ret=misc->colors.compass_dk;
3423 6977821 break;
3424
3425 case ssctSUBSCRBG:
3426 36193549 ret=misc->colors.subscr_bg;
3427 36193549 break;
3428
3429 case ssctSUBSCRSHADOW:
3430 ret=misc->colors.subscr_shadow;
3431 break;
3432
3433 case ssctTRIFRAMECOLOR:
3434 45359 ret=misc->colors.triframe_color;
3435 45359 break;
3436
3437 case ssctBMAPBG:
3438 14549 ret=misc->colors.bmap_bg;
3439 14549 break;
3440
3441 case ssctBMAPFG:
3442 181161 ret=misc->colors.bmap_fg;
3443 181161 break;
3444
3445 case ssctHERODOT:
3446 7173531 ret=misc->colors.hero_dot;
3447 7173531 break;
3448
3449 default:
3450 ret=(zc_oldrand()*1000)%256;
3451 break;
3452 }
3453
3454 102094008 break;
3455
3456 default:
3457 58856687 ret=(c1<<4)+c2;
3458 58856687 }
3459
3460 176992651 return ret;
3461 }
3462
3463
3464
3465 41726547 int32_t subscreen_cset(miscQdata *misc,int32_t c1, int32_t c2)
3466 {
3467 41726547 int32_t ret=c1;
3468
3469
2/2
✓ Branch 0 taken 28462967 times.
✓ Branch 1 taken 13263580 times.
41726547 switch(c1)
3470 {
3471 case ssctMISC:
3472
1/8
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 13263580 times.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
13263580 switch(c2)
3473 {
3474 case sscsTRIFORCECSET:
3475 ret=misc->colors.triforce_cset;
3476 break;
3477
3478 case sscsTRIFRAMECSET:
3479 ret=misc->colors.triframe_cset;
3480 break;
3481
3482 case sscsOVERWORLDMAPCSET:
3483 ret=misc->colors.overworld_map_cset;
3484 break;
3485
3486 case sscsDUNGEONMAPCSET:
3487 ret=misc->colors.dungeon_map_cset;
3488 break;
3489
3490 case sscsBLUEFRAMECSET:
3491 13263580 ret=misc->colors.blueframe_cset;
3492 13263580 break;
3493
3494 case sscsHCPIECESCSET:
3495 ret=misc->colors.HCpieces_cset;
3496 break;
3497
3498 case sscsSSVINECSET:
3499 ret=wpnsbuf[iwSubscreenVine].csets&15;
3500 break;
3501
3502 default:
3503 ret=(zc_oldrand()*1000)%256;
3504 break;
3505 }
3506
3507 13263580 break;
3508
3509 default:
3510 28462967 ret=c1;
3511 28462967 }
3512
3513 41726547 return ret;
3514 }
3515
3516 175595004 int32_t to_real_font(int32_t ss_font)
3517 {
3518
66/66
✓ Branch 0 taken 2213537 times.
✓ Branch 1 taken 1759671 times.
✓ Branch 2 taken 17762065 times.
✓ Branch 3 taken 2852759 times.
✓ Branch 4 taken 2697684 times.
✓ Branch 5 taken 2567308 times.
✓ Branch 6 taken 3617352 times.
✓ Branch 7 taken 91776552 times.
✓ Branch 8 taken 1915636 times.
✓ Branch 9 taken 4387424 times.
✓ Branch 10 taken 3329918 times.
✓ Branch 11 taken 1829776 times.
✓ Branch 12 taken 1892391 times.
✓ Branch 13 taken 1908269 times.
✓ Branch 14 taken 1907669 times.
✓ Branch 15 taken 1909371 times.
✓ Branch 16 taken 1908449 times.
✓ Branch 17 taken 1341683 times.
✓ Branch 18 taken 1263633 times.
✓ Branch 19 taken 1262393 times.
✓ Branch 20 taken 1261641 times.
✓ Branch 21 taken 1262101 times.
✓ Branch 22 taken 1220617 times.
✓ Branch 23 taken 1123069 times.
✓ Branch 24 taken 723137 times.
✓ Branch 25 taken 723529 times.
✓ Branch 26 taken 899873 times.
✓ Branch 27 taken 821305 times.
✓ Branch 28 taken 698637 times.
✓ Branch 29 taken 698509 times.
✓ Branch 30 taken 698046 times.
✓ Branch 31 taken 698169 times.
✓ Branch 32 taken 554503 times.
✓ Branch 33 taken 554644 times.
✓ Branch 34 taken 473244 times.
✓ Branch 35 taken 462659 times.
✓ Branch 36 taken 362533 times.
✓ Branch 37 taken 385887 times.
✓ Branch 38 taken 363507 times.
✓ Branch 39 taken 362240 times.
✓ Branch 40 taken 362169 times.
✓ Branch 41 taken 362987 times.
✓ Branch 42 taken 362380 times.
✓ Branch 43 taken 362305 times.
✓ Branch 44 taken 564147 times.
✓ Branch 45 taken 362840 times.
✓ Branch 46 taken 362737 times.
✓ Branch 47 taken 475611 times.
✓ Branch 48 taken 385136 times.
✓ Branch 49 taken 385364 times.
✓ Branch 50 taken 385444 times.
✓ Branch 51 taken 386540 times.
✓ Branch 52 taken 385453 times.
✓ Branch 53 taken 400865 times.
✓ Branch 54 taken 386391 times.
✓ Branch 55 taken 385807 times.
✓ Branch 56 taken 384635 times.
✓ Branch 57 taken 398716 times.
✓ Branch 58 taken 385801 times.
✓ Branch 59 taken 386586 times.
✓ Branch 60 taken 385880 times.
✓ Branch 61 taken 385493 times.
✓ Branch 62 taken 386062 times.
✓ Branch 63 taken 384639 times.
✓ Branch 64 taken 386994 times.
✓ Branch 65 taken 1342632 times.
175595004 switch(ss_font)
3519 {
3520 2213537 case ssfSMALL: return font_sfont;
3521 1759671 case ssfSMALLPROP: return font_spfont;
3522 17762065 case ssfSS1: return font_ssfont1;
3523 2852759 case ssfSS2: return font_ssfont2;
3524 2697684 case ssfSS3: return font_ssfont3;
3525 2567308 case ssfSS4: return font_ssfont4;
3526 3617352 case ssfZTIME: return font_ztfont;
3527 91776552 case ssfZELDA: return font_zfont;
3528 1915636 case ssfZ3: return font_z3font;
3529 4387424 case ssfZ3SMALL: return font_z3smallfont;
3530 3329918 case ssfGBLA: return font_gblafont;
3531 1829776 case ssfGORON: return font_goronfont;
3532 1892391 case ssfZORAN: return font_zoranfont;
3533 1908269 case ssfHYLIAN1: return font_hylian1font;
3534 1907669 case ssfHYLIAN2: return font_hylian2font;
3535 1909371 case ssfHYLIAN3: return font_hylian3font;
3536 1908449 case ssfHYLIAN4: return font_hylian4font;
3537 1341683 case ssfGBORACLE: return font_gboraclefont;
3538 1263633 case ssfGBORACLEP: return font_gboraclepfont;
3539 1262393 case ssfDSPHANTOM: return font_dsphantomfont;
3540 1261641 case ssfDSPHANTOMP: return font_dsphantompfont;
3541 1262101 case ssfAT800: return font_atari800font;
3542 1220617 case ssfACORN: return font_acornfont;
3543 1123069 case ssADOS: return font_adosfont;
3544 723137 case ssfALLEG: return font_baseallegrofont;
3545 723529 case ssfAPL2: return font_apple2font;
3546 899873 case ssfAPL280: return font_apple280colfont;
3547 821305 case ssfAPL2GS: return font_apple2gsfont;
3548 698637 case ssfAQUA: return font_aquariusfont;
3549 698509 case ssfAT400: return font_atari400font;
3550 698046 case ssfC64: return font_c64font;
3551 698169 case ssfC64HR: return font_c64hiresfont;
3552 554503 case ssfCGA: return font_cgafont;
3553 554644 case ssfCOCO: return font_cocofont;
3554 473244 case ssfCOCO2: return font_coco2font;
3555 462659 case ssfCOUPE: return font_coupefont;
3556 362533 case ssfCPC: return font_cpcfont;
3557 385887 case ssfFANTASY: return font_fantasyfont;
3558 363507 case ssfFDSKANA: return font_fdskanafont;
3559 362240 case ssfFDSLIKE: return font_fdslikefont;
3560 362169 case ssfFDSROM: return font_fdsromanfont;
3561 362987 case ssfFF: return font_finalffont;
3562 362380 case ssfFUTHARK: return font_futharkfont;
3563 362305 case ssfGAIA: return font_gaiafont;
3564 564147 case ssfHIRA: return font_hirafont;
3565 362840 case ssfJP: return font_jpfont;
3566 362737 case ssfKONG: return font_kongfont;
3567 475611 case ssfMANA: return font_manafont;
3568 385136 case ssfML: return font_mlfont;
3569 385364 case ssfMOT: return font_motfont;
3570 385444 case ssfMSX0: return font_msxmode0font;
3571 386540 case ssfMSX1: return font_msxmode1font;
3572 385453 case ssfPET: return font_petfont;
3573 400865 case ssfPSTART: return font_pstartfont;
3574 386391 case ssfSATURN: return font_saturnfont;
3575 385807 case ssfSCIFI: return font_scififont;
3576 384635 case ssfSHERW: return font_sherwoodfont;
3577 398716 case ssfSINQL: return font_sinqlfont;
3578 385801 case ssfSPEC: return font_spectrumfont;
3579 386586 case ssfSPECLG: return font_speclgfont;
3580 385880 case ssfTI99: return font_ti99font;
3581 385493 case ssfTRS: return font_trsfont;
3582 386062 case ssfZ2: return font_z2font;
3583 384639 case ssfZX: return font_zxfont;
3584 386994 case ssfLISA: return font_lisafont;
3585 }
3586 1342632 return font_zfont;
3587 175595004 }
3588 int32_t to_ss_font(int32_t real_font)
3589 {
3590 switch(real_font)
3591 {
3592 case font_sfont: return ssfSMALL;
3593 case font_spfont: return ssfSMALLPROP;
3594 case font_ssfont1: return ssfSS1;
3595 case font_ssfont2: return ssfSS2;
3596 case font_ssfont3: return ssfSS3;
3597 case font_ssfont4: return ssfSS4;
3598 case font_ztfont: return ssfZTIME;
3599 case font_zfont: return ssfZELDA;
3600 case font_z3font: return ssfZ3;
3601 case font_z3smallfont: return ssfZ3SMALL;
3602 case font_gblafont: return ssfGBLA;
3603 case font_goronfont: return ssfGORON;
3604 case font_zoranfont: return ssfZORAN;
3605 case font_hylian1font: return ssfHYLIAN1;
3606 case font_hylian2font: return ssfHYLIAN2;
3607 case font_hylian3font: return ssfHYLIAN3;
3608 case font_hylian4font: return ssfHYLIAN4;
3609 case font_gboraclefont: return ssfGBORACLE;
3610 case font_gboraclepfont: return ssfGBORACLEP;
3611 case font_dsphantomfont: return ssfDSPHANTOM;
3612 case font_dsphantompfont: return ssfDSPHANTOMP;
3613 case font_atari800font: return ssfAT800;
3614 case font_acornfont: return ssfACORN;
3615 case font_adosfont: return ssADOS;
3616 case font_baseallegrofont: return ssfALLEG;
3617 case font_apple2font: return ssfAPL2;
3618 case font_apple280colfont: return ssfAPL280;
3619 case font_apple2gsfont: return ssfAPL2GS;
3620 case font_aquariusfont: return ssfAQUA;
3621 case font_atari400font: return ssfAT400;
3622 case font_c64font: return ssfC64;
3623 case font_c64hiresfont: return ssfC64HR;
3624 case font_cgafont: return ssfCGA;
3625 case font_cocofont: return ssfCOCO;
3626 case font_coco2font: return ssfCOCO2;
3627 case font_coupefont: return ssfCOUPE;
3628 case font_cpcfont: return ssfCPC;
3629 case font_fantasyfont: return ssfFANTASY;
3630 case font_fdskanafont: return ssfFDSKANA;
3631 case font_fdslikefont: return ssfFDSLIKE;
3632 case font_fdsromanfont: return ssfFDSROM;
3633 case font_finalffont: return ssfFF;
3634 case font_futharkfont: return ssfFUTHARK;
3635 case font_gaiafont: return ssfGAIA;
3636 case font_hirafont: return ssfHIRA;
3637 case font_jpfont: return ssfJP;
3638 case font_kongfont: return ssfKONG;
3639 case font_manafont: return ssfMANA;
3640 case font_mlfont: return ssfML;
3641 case font_motfont: return ssfMOT;
3642 case font_msxmode0font: return ssfMSX0;
3643 case font_msxmode1font: return ssfMSX1;
3644 case font_petfont: return ssfPET;
3645 case font_pstartfont: return ssfPSTART;
3646 case font_saturnfont: return ssfSATURN;
3647 case font_scififont: return ssfSCIFI;
3648 case font_sherwoodfont: return ssfSHERW;
3649 case font_sinqlfont: return ssfSINQL;
3650 case font_spectrumfont: return ssfSPEC;
3651 case font_speclgfont: return ssfSPECLG;
3652 case font_ti99font: return ssfTI99;
3653 case font_trsfont: return ssfTRS;
3654 case font_z2font: return ssfZ2;
3655 case font_zxfont: return ssfZX;
3656 case font_lisafont: return ssfLISA;
3657 }
3658 return ssfZELDA;
3659 }
3660
3661 175595004 FONT *ss_font(int32_t fontnum)
3662 {
3663
2/2
✓ Branch 0 taken 151643446 times.
✓ Branch 1 taken 23951558 times.
175595004 if(unsigned(fontnum) >= ssfMAX)
3664 23951558 fontnum=zc_oldrand()%ssfMAX;
3665
3666 175595004 return get_zc_font(to_real_font(fontnum));
3667 }
3668 item *sel_a=NULL, *sel_b=NULL;
3669
3670
3671 750 void delete_selectors()
3672 {
3673
2/2
✓ Branch 0 taken 34 times.
✓ Branch 1 taken 716 times.
750 if(sel_a)
3674 {
3675
1/2
✓ Branch 0 taken 716 times.
✗ Branch 1 not taken.
716 delete sel_a;
3676 716 sel_a=NULL;
3677 716 }
3678
3679
2/2
✓ Branch 0 taken 34 times.
✓ Branch 1 taken 716 times.
750 if(sel_b)
3680 {
3681
1/2
✓ Branch 0 taken 716 times.
✗ Branch 1 not taken.
716 delete sel_b;
3682 716 sel_b=NULL;
3683 716 }
3684 750 }
3685
3686
3687 207578 void animate_selectors()
3688 {
3689
2/2
✓ Branch 0 taken 206828 times.
✓ Branch 1 taken 750 times.
207578 if(new_sel)
3690 {
3691 750 delete_selectors();
3692 750 new_sel = false;
3693 750 }
3694
3695
2/2
✓ Branch 0 taken 206828 times.
✓ Branch 1 taken 750 times.
207578 if(!sel_a)
3696
4/8
✓ Branch 0 taken 750 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 750 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 750 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 750 times.
✗ Branch 7 not taken.
750 sel_a = new item((zfix)0, (zfix)0, (zfix)0, iSelectA, 0, 0);
3697
3698
2/2
✓ Branch 0 taken 206828 times.
✓ Branch 1 taken 750 times.
207578 if(!sel_b)
3699
4/8
✓ Branch 0 taken 750 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 750 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 750 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 750 times.
✗ Branch 7 not taken.
750 sel_b = new item((zfix)0, (zfix)0, (zfix)0, iSelectB, 0, 0);
3700
3701 207578 sel_a->yofs=0;
3702 207578 sel_a->subscreenItem=true;
3703 207578 sel_a->animate(0);
3704 207578 sel_b->yofs=0;
3705 207578 sel_b->subscreenItem=true;
3706 207578 sel_b->animate(0);
3707 207578 }
3708
3709 7972206 void show_custom_subscreen(BITMAP *dest, miscQdata *misc, subscreen_group *css, int32_t xofs, int32_t yofs, bool showtime, int32_t pos2)
3710 {
3711 //this is not a good place to be clearing the bitmap
3712 //other stuff might already have been drawn on it that needs to be kept
3713 //(eg the game screen when pulling down the subscreen) -DD
3714 //clear_to_color(dest, 0);
3715 7972206 color_map=&trans_table;
3716 7972206 set_trans_blender(0, 0, 0, 128);
3717
3718 #ifdef IS_ZQUEST
3719 bool animate_sel = true; //ZQ needs to always animate -Em
3720 /* ZQ also has no 'advanceframe' to increment the global frame counter,
3721 * so we need to increment that here, as flashing items use it for their draw.
3722 * -Em
3723 */
3724 ++frame;
3725 #else
3726 /* Animating in ZC every frame causes doubled animation speed, due to
3727 * animating both for the passive and active subscreen.
3728 * So, only call it if new selectors are needed. ZC doesn't use 'bool new_sel'.
3729 * -Em
3730 */
3731
2/2
✓ Branch 0 taken 34 times.
✓ Branch 1 taken 7972172 times.
7972206 bool animate_sel = !sel_a || !sel_b;
3732 #endif
3733
2/2
✓ Branch 0 taken 7972172 times.
✓ Branch 1 taken 34 times.
7972206 if(animate_sel)
3734 34 animate_selectors();
3735
3736
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 184335727 times.
✓ Branch 2 taken 176363521 times.
✓ Branch 3 taken 7972206 times.
184335727 for(int32_t i=0; i<MAXSUBSCREENITEMS&&css->objects[i].type>ssoNULL; ++i)
3737 {
3738
2/2
✓ Branch 0 taken 768517 times.
✓ Branch 1 taken 175595004 times.
176363521 if((css->objects[i].pos & pos2) != 0)
3739 {
3740 175595004 FONT *tempfont=get_zc_font(font_zfont);
3741 175595004 int32_t fontnum=css->objects[i].d1;
3742 175595004 tempfont=ss_font(fontnum);
3743 175595004 int32_t x=css->objects[i].x+xofs;
3744 175595004 int32_t y=css->objects[i].y+yofs;
3745
3746
22/26
✓ Branch 0 taken 6435872 times.
✓ Branch 1 taken 324753 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 15349613 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 22595186 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 379372 times.
✓ Branch 8 taken 1829921 times.
✓ Branch 9 taken 6455809 times.
✓ Branch 10 taken 15361095 times.
✓ Branch 11 taken 5075142 times.
✓ Branch 12 taken 14332184 times.
✓ Branch 13 taken 7064297 times.
✓ Branch 14 taken 7022166 times.
✓ Branch 15 taken 195710 times.
✓ Branch 16 taken 7266291 times.
✓ Branch 17 taken 5880524 times.
✓ Branch 18 taken 64020 times.
✓ Branch 19 taken 645 times.
✓ Branch 20 taken 33668 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 13084272 times.
✓ Branch 23 taken 13292662 times.
✓ Branch 24 taken 10597082 times.
✓ Branch 25 taken 22954720 times.
175595004 switch(css->objects[i].type)
3747 {
3748 case sso2X2FRAME:
3749 {
3750 //al_trace("2x2 Frame tile is: %d\n",css->objects[i].d1);
3751 //in 1.92 and earlier, the 2x2 frame object was tile 278
3752 15349613 frame2x2(dest, misc, x, y, css->objects[i].d1, subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1), css->objects[i].w, css->objects[i].h, css->objects[i].d2, css->objects[i].d3 != 0, css->objects[i].d4 != 0);
3753 //frame2x2(dest, misc, x, y, FFCore.getQuestHeaderInfo(vZelda) < 0x193 ? 278 : css->objects[i].d1, subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1), css->objects[i].w, css->objects[i].h, css->objects[i].d2, css->objects[i].d3 != 0, css->objects[i].d4 != 0);
3754 }
3755 15349613 break;
3756
3757 case ssoBSTIME:
3758 {
3759 char *ts;
3760
3761 if(game)
3762 ts = time_str_short2(game->get_time());
3763 else
3764 ts = time_str_short2(0);
3765
3766 //textout_shadowed_ex(dest,tempfont,ts,x,y,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3767 textout_styled_aligned_ex(dest,tempfont,ts,x,y,css->objects[i].d3,css->objects[i].d2,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3768 }
3769 break;
3770
3771 case ssoSSTIME:
3772 case ssoTIME:
3773 {
3774
3/4
✓ Branch 0 taken 6435872 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 15980 times.
✓ Branch 3 taken 6419892 times.
6435872 if(showtime||css->objects[i].type==ssoTIME)
3775 {
3776 char *ts;
3777
3778
1/2
✓ Branch 0 taken 15980 times.
✗ Branch 1 not taken.
15980 if(game)
3779 15980 ts = time_str_med(game->get_time());
3780 else
3781 ts = time_str_med(0);
3782
3783 //textout_right_ex(dest,tempfont,ts,x,y,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2));
3784 15980 textout_styled_aligned_ex(dest,tempfont,ts,x,y,css->objects[i].d3,css->objects[i].d2,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3785 15980 }
3786 }
3787 6435872 break;
3788
3789 case ssoTEXT:
3790 {
3791 //textout_styled_aligned_ex(bmp, f, s, x,y,textstyle, alignment, color, shadow, bg)
3792 22595186 textout_styled_aligned_ex(dest,tempfont,(char *)css->objects[i].dp1,x,y,css->objects[i].d3,css->objects[i].d2,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3793 }
3794 22595186 break;
3795
3796 case ssoLINE:
3797 {
3798 if(css->objects[i].d4)
3799 {
3800 drawing_mode(DRAW_MODE_TRANS, NULL, 0, 0);
3801 }
3802
3803 line(dest, x, y, x+css->objects[i].w-1, y+css->objects[i].h-1, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1));
3804
3805 if(css->objects[i].d4)
3806 {
3807 drawing_mode(DRAW_MODE_SOLID, NULL, 0, 0);
3808 }
3809 }
3810 break;
3811
3812 case ssoRECT:
3813 {
3814
1/2
✓ Branch 0 taken 379372 times.
✗ Branch 1 not taken.
379372 if(css->objects[i].d2)
3815 {
3816 drawing_mode(DRAW_MODE_TRANS, NULL, 0, 0);
3817 }
3818
3819
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 379372 times.
379372 if(css->objects[i].d1!=0)
3820 {
3821 379372 rectfill(dest, x, y, x+css->objects[i].w-1, y+css->objects[i].h-1, subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2));
3822 379372 }
3823
3824 379372 rect(dest, x, y, x+css->objects[i].w-1, y+css->objects[i].h-1, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1));
3825
3826
1/2
✓ Branch 0 taken 379372 times.
✗ Branch 1 not taken.
379372 if(css->objects[i].d2)
3827 {
3828 drawing_mode(DRAW_MODE_SOLID, NULL, 0, 0);
3829 }
3830 }
3831 379372 break;
3832
3833 case ssoMAGICMETER:
3834 {
3835 1829921 magicmeter(dest, x, y);
3836 }
3837 1829921 break;
3838
3839 case ssoLIFEMETER:
3840 {
3841 //lifemeter(dest, x, y, css->objects[i].d1, css->objects[i].d2 != 0);
3842 6455809 lifemeter(dest, x, y, 1, css->objects[i].d2 != 0);
3843 }
3844 6455809 break;
3845
3846 case ssoBUTTONITEM:
3847 {
3848
1/2
✓ Branch 0 taken 15361095 times.
✗ Branch 1 not taken.
15361095 if(css->objects[i].d2)
3849 {
3850 drawing_mode(DRAW_MODE_TRANS, NULL, 0, 0);
3851 }
3852 //zprint2("Button item ID is: %d\n", css->objects[i].d1);
3853 15361095 buttonitem(dest, css->objects[i].d1, x, y);
3854
3855
1/2
✓ Branch 0 taken 15361095 times.
✗ Branch 1 not taken.
15361095 if(css->objects[i].d2)
3856 {
3857 drawing_mode(DRAW_MODE_SOLID, NULL, 0, 0);
3858 }
3859 }
3860 15361095 break;
3861
3862 case ssoCOUNTERS:
3863 {
3864 5075142 defaultcounters(dest, x, y, tempfont,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3),css->objects[i].d2 != 0,css->objects[i].d3,css->objects[i].d4,css->objects[i].d5);
3865 }
3866 5075142 break;
3867
3868 case ssoCOUNTER:
3869 {
3870 14332184 counter(dest, x, y, tempfont,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3),css->objects[i].d2,css->objects[i].d3,css->objects[i].d4,css->objects[i].d5,css->objects[i].d6&1, css->objects[i].d7, css->objects[i].d8, css->objects[i].d9, css->objects[i].d10, (css->objects[i].d6&2)!=0);
3871 }
3872 14332184 break;
3873
3874 case ssoMINIMAPTITLE:
3875 {
3876
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 7064297 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
7064297 if(!css->objects[i].d4 || has_item(itype_map, get_dlevel()))
3877 {
3878 7064297 minimaptitle(dest, x, y, tempfont, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1),subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2),subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3), css->objects[i].d2, css->objects[i].d3);
3879 7064297 }
3880 }
3881 7064297 break;
3882
3883 case ssoMINIMAP:
3884 {
3885 //drawdmap(dest, misc, x, y, showmap, showhero, showcompass, herocolor, lccolor, dccolor)
3886
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 7022166 times.
14044332 drawdmap(dest, misc, x, y, css->objects[i].d1 != 0, css->objects[i].d2 && !(TheMaps[(DMaps[get_currdmap()].map*MAPSCRS)+get_homescr()].flags7&fNOHEROMARK),
3887
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 7022166 times.
7022166 css->objects[i].d3 && !(DMaps[get_currdmap()].flags&dmfNOCOMPASS), subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3888 }
3889 7022166 break;
3890
3891 case ssoLARGEMAP:
3892 {
3893 //putBmap(dest, misc, x, y, showmap, showhero, showrooms, roomcolor, herocolor, large)
3894 195710 putBmap(dest, misc, x, y, css->objects[i].d1 != 0, css->objects[i].d2!=0, css->objects[i].d3!=0, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), css->objects[i].d10 != 0);
3895 }
3896 195710 break;
3897
3898 case ssoCLEAR:
3899 {
3900 7266291 clear_to_color(dest,subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1));
3901 }
3902 7266291 break;
3903
3904 case ssoCURRENTITEM:
3905 {
3906 // Shouldn't really be checking is_zquest here, but it's okay for now...
3907
3/6
✓ Branch 0 taken 214246 times.
✓ Branch 1 taken 5666278 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 214246 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
5880524 if(css->objects[i].d2 || (is_zquest() && (zinit.ss_flags&ssflagSHOWINVIS)!=0))
3908 {
3909
2/2
✓ Branch 0 taken 5895 times.
✓ Branch 1 taken 5660383 times.
5666278 subscreenitem(dest, x, y, css->objects[i].d8>0 ? ((css->objects[i].d8-1) | 0x8000) : css->objects[i].d1);
3910 5666278 }
3911 }
3912 5880524 break;
3913
3914 case ssoTEXTBOX:
3915 {
3916 //draw_textbox(dest, x, y, w, h, tempfont, thetext, wword, tabsize, alignment, textstyle, color, shadowcolor, backcolor)
3917 64020 draw_textbox(dest, x, y, css->objects[i].w, css->objects[i].h, tempfont, (char *)css->objects[i].dp1, css->objects[i].d4!=0, css->objects[i].d5, css->objects[i].d2, css->objects[i].d3, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3918 //draw_textbox(dest, 0, 0, 200, 50, get_zc_font(font_sfont), "This is a test", 1, 4, 0, 0, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3919 }
3920 64020 break;
3921
3922 case ssoSELECTEDITEMNAME:
3923 {
3924 645 int32_t itemid=Bweapon(Bpos);
3925
3926 // If it's a combined bow and arrow, the item ID will have 0xF000 added.
3927
1/2
✓ Branch 0 taken 645 times.
✗ Branch 1 not taken.
645 if(itemid>=0xF000)
3928 itemid-=0xF000;
3929
3930 // 0 can mean either the item with index 0 is selected or there's no
3931 // valid item to select, so be sure Hero has whatever it would be.
3932
1/2
✓ Branch 0 taken 645 times.
✗ Branch 1 not taken.
645 if(!game->get_item(itemid))
3933 break;
3934
3935 645 itemdata const& itm = itemsbuf[itemid];
3936 645 char itemname[256]="";
3937 645 strncpy(itemname, itm.get_name().c_str(), 255);
3938
3939 645 draw_textbox(dest, x, y, css->objects[i].w, css->objects[i].h, tempfont, itemname, css->objects[i].d4!=0, css->objects[i].d5, css->objects[i].d2, css->objects[i].d3, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), subscreen_color(misc, css->objects[i].colortype3, css->objects[i].color3));
3940 // draw_textbox(dest, x, y, w, h, tempfont, thetext, wword, tabsize, alignment, textstyle, color, shadowcolor, backcolor);
3941 }
3942 645 break;
3943
3944 case ssoTRIFRAME:
3945 {
3946 //puttriframe(dest, misc, x, y, triframecolor, numbercolor, triframetile, triframecset, triforcetile, triforcecset, showframe, showpieces, largepieces)
3947 33668 puttriframe(dest, misc, x, y, subscreen_color(misc, css->objects[i].colortype1, css->objects[i].color1), subscreen_color(misc, css->objects[i].colortype2, css->objects[i].color2), css->objects[i].d1, css->objects[i].d2, css->objects[i].d3, css->objects[i].d4, css->objects[i].d5!=0, css->objects[i].d6!=0, css->objects[i].d7!=0);
3948 }
3949 33668 break;
3950
3951 case ssoTRIFORCE:
3952 {
3953 puttriforce(dest,misc,x,y,css->objects[i].d1,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].w,css->objects[i].h,css->objects[i].d2,css->objects[i].d3!=0,css->objects[i].d4!=0,css->objects[i].d5);
3954 }
3955 break;
3956
3957 case ssoTILEBLOCK:
3958 {
3959 13084272 draw_block_flip(dest,x,y,css->objects[i].d1,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].w,css->objects[i].h,css->objects[i].d2,css->objects[i].d3!=0,css->objects[i].d4!=0);
3960 }
3961 13084272 break;
3962
3963 case ssoMINITILE:
3964 {
3965 13292662 int32_t t=css->objects[i].d1;
3966
3967
1/2
✓ Branch 0 taken 13292662 times.
✗ Branch 1 not taken.
13292662 if(t==-1)
3968 {
3969 switch(css->objects[i].d2)
3970 {
3971 case ssmstSSVINETILE:
3972 t=wpnsbuf[iwSubscreenVine].tile*4;
3973 break;
3974
3975 case ssmstMAGICMETER:
3976 t=wpnsbuf[iwMMeter].tile*4;
3977 break;
3978
3979 default:
3980 t=(zc_oldrand()*100000)%32767;
3981 break;
3982 }
3983 }
3984
3985 13292662 t+=css->objects[i].d3;
3986
3987
2/2
✓ Branch 0 taken 9805830 times.
✓ Branch 1 taken 3486832 times.
13292662 if(css->objects[i].d5)
3988 {
3989
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 9805830 times.
9805830 if(css->objects[i].d6)
3990 {
3991 overtiletranslucent8(dest,t,x,y,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].d4,128);
3992 }
3993 else
3994 {
3995 9805830 overtile8(dest,t,x,y,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].d4);
3996 }
3997 9805830 }
3998 else
3999 {
4000
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3486832 times.
3486832 if(css->objects[i].d6)
4001 {
4002 puttiletranslucent8(dest,t,x,y,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].d4,128);
4003 }
4004 else
4005 {
4006 3486832 oldputtile8(dest,t,x,y,subscreen_cset(misc, css->objects[i].colortype1, css->objects[i].color1),css->objects[i].d4);
4007 }
4008 }
4009 }
4010 13292662 break;
4011
4012 case ssoSELECTOR1:
4013 case ssoSELECTOR2:
4014 {
4015 324753 int32_t p=-1;
4016
4017
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 9360156 times.
✓ Branch 2 taken 498 times.
✓ Branch 3 taken 9359658 times.
9360156 for(int32_t j=0; j<MAXSUBSCREENITEMS&&css->objects[j].type!=ssoNULL; ++j)
4018 {
4019
2/2
✓ Branch 0 taken 2614271 times.
✓ Branch 1 taken 6745387 times.
9359658 if(css->objects[j].type==ssoCURRENTITEM)
4020 {
4021
2/2
✓ Branch 0 taken 6421132 times.
✓ Branch 1 taken 324255 times.
6745387 if(css->objects[j].d3==(int32_t)Bpos)
4022 {
4023 324255 p=j;
4024 324255 break;
4025 }
4026 6421132 }
4027 9035403 }
4028
4029 324753 bool big_sel=css->objects[i].d5 != 0;
4030
2/2
✓ Branch 0 taken 207046 times.
✓ Branch 1 taken 117707 times.
324753 item *tempsel=(css->objects[i].type==ssoSELECTOR1)?sel_a:sel_b;
4031 324753 int32_t temptile=tempsel->tile;
4032 324753 tempsel->drawstyle=0;
4033
4034
1/2
✓ Branch 0 taken 324753 times.
✗ Branch 1 not taken.
324753 if(css->objects[i].d4)
4035 {
4036 tempsel->drawstyle=1;
4037 }
4038
2/2
✓ Branch 0 taken 240 times.
✓ Branch 1 taken 324513 times.
324753 int32_t itemtype = css->objects[p].d8>0 ? ((css->objects[p].d8-1) | 0x8000) : css->objects[p].d1;
4039 324753 itemdata const& tmpitm = itemsbuf[get_subscreenitem_id(itemtype, true)];
4040 324753 bool oldsel = get_bit(quest_rules, qr_SUBSCR_OLD_SELECTOR);
4041
2/2
✓ Branch 0 taken 318073 times.
✓ Branch 1 taken 6680 times.
324753 if(!oldsel) big_sel = false;
4042
5/6
✓ Branch 0 taken 318073 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 317428 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
324753 int32_t sw = oldsel ? (tempsel->extend > 2 ? tempsel->txsz*16 : 16) : (tempsel->extend > 2 ? tempsel->hxsz : 16),
4043
5/6
✓ Branch 0 taken 318073 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 317428 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
324753 sh = oldsel ? (tempsel->extend > 2 ? tempsel->txsz*16 : 16) : (tempsel->extend > 2 ? tempsel->hysz : 16),
4044
5/6
✓ Branch 0 taken 318073 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 317428 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
324753 dw = oldsel ? (tempsel->extend > 2 ? tempsel->txsz*16 : 16) : ((tmpitm.overrideFLAGS & itemdataOVERRIDE_HIT_WIDTH) ? tmpitm.hxsz : 16),
4045
5/6
✓ Branch 0 taken 318073 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 317428 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
324753 dh = oldsel ? (tempsel->extend > 2 ? tempsel->txsz*16 : 16) : ((tmpitm.overrideFLAGS & itemdataOVERRIDE_HIT_HEIGHT) ? tmpitm.hysz : 16);
4046
3/4
✓ Branch 0 taken 318073 times.
✓ Branch 1 taken 6680 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6680 times.
324753 int32_t sxofs = oldsel ? 0 : (tempsel->extend > 2 ? tempsel->hxofs : 0),
4047
3/4
✓ Branch 0 taken 318073 times.
✓ Branch 1 taken 6680 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6680 times.
324753 syofs = oldsel ? 0 : (tempsel->extend > 2 ? tempsel->hyofs : 0),
4048
6/8
✓ Branch 0 taken 318073 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 317428 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 6680 times.
324753 dxofs = oldsel ? (tempsel->extend > 2 ? (int)tempsel->xofs : 0) : ((tmpitm.overrideFLAGS & itemdataOVERRIDE_HIT_X_OFFSET) ? tmpitm.hxofs : 0) + (tempsel->extend > 2 ? (int)tempsel->xofs : 0),
4049
6/8
✓ Branch 0 taken 318073 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 317428 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 6680 times.
324753 dyofs = oldsel ? (tempsel->extend > 2 ? (int)tempsel->yofs : 0) : ((tmpitm.overrideFLAGS & itemdataOVERRIDE_HIT_Y_OFFSET) ? tmpitm.hyofs : 0) + (tempsel->extend > 2 ? (int)tempsel->yofs : 0);
4050 324753 BITMAP* tmpbmp = create_bitmap_ex(8,sw,sh);
4051
2/2
✓ Branch 0 taken 498 times.
✓ Branch 1 taken 326247 times.
326745 for(int32_t j=0; j<4; ++j)
4052 {
4053 326247 clear_bitmap(tmpbmp);
4054
2/2
✓ Branch 0 taken 1992 times.
✓ Branch 1 taken 324255 times.
326247 if(p!=-1)
4055 {
4056 324255 tempsel->x=0;
4057 324255 tempsel->y=0;
4058
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 324255 times.
324255 int32_t tmpx = css->objects[p].x+xofs+(big_sel?(j%2?8:-8):0);
4059
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 324255 times.
324255 int32_t tmpy = css->objects[p].y+yofs+(big_sel?(j>1?8:-8):0);
4060
2/2
✓ Branch 0 taken 144758 times.
✓ Branch 1 taken 179497 times.
324255 tempsel->tile+=(zc_max(itemsbuf[tempsel->id].frames,1)*j);
4061
4062
2/2
✓ Branch 0 taken 94232 times.
✓ Branch 1 taken 230023 times.
324255 if(temptile)
4063 {
4064 230023 tempsel->drawzcboss(tmpbmp);
4065 230023 tempsel->tile=temptile;
4066 230023 }
4067 324255 masked_stretch_blit(tmpbmp, dest, vbound(sxofs, 0, sw), vbound(syofs, 0, sh), sw-vbound(sxofs, 0, sw), sh-vbound(syofs, 0, sh), tmpx+dxofs, tmpy+dyofs, dw, dh);
4068
4069
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 324255 times.
324255 if(!big_sel)
4070 {
4071 324255 break;
4072 }
4073 }
4074 1992 }
4075 324753 destroy_bitmap(tmpbmp);
4076 }
4077 324753 break;
4078
4079 case ssoMAGICGAUGE:
4080 {
4081 // void magicgauge(BITMAP *dest,int32_t x,int32_t y, int32_t container, int32_t notlast_tile, int32_t notlast_cset, bool notlast_mod, int32_t last_tile, int32_t last_cset, bool last_mod,
4082 // int32_t cap_tile, int32_t cap_cset, bool cap_mod, int32_t aftercap_tile, int32_t aftercap_cset, bool aftercap_mod, int32_t frames, int32_t speed, int32_t delay, bool unique_last,
4083 // int32_t show)
4084 21194164 magicgauge(dest,x,y, css->objects[i].d1, css->objects[i].d2, css->objects[i].colortype1, ((css->objects[i].d10&1)?1:0), css->objects[i].d3, css->objects[i].color1, ((css->objects[i].d10&2)?1:0),
4085 10597082 css->objects[i].d4, css->objects[i].colortype2, ((css->objects[i].d10&4)?1:0), css->objects[i].d5, css->objects[i].color2, ((css->objects[i].d10&8)?1:0), css->objects[i].d6, css->objects[i].d7, css->objects[i].d8, ((css->objects[i].d10&16)?1:0),
4086 10597082 css->objects[i].d9);
4087 }
4088 10597082 break;
4089
4090 case ssoLIFEGAUGE:
4091 {
4092 45909440 lifegauge(dest,x,y, css->objects[i].d1, css->objects[i].d2, css->objects[i].colortype1, ((css->objects[i].d10&1)?1:0), css->objects[i].d3, css->objects[i].color1, ((css->objects[i].d10&2)?1:0),
4093 22954720 css->objects[i].d4, css->objects[i].colortype2, ((css->objects[i].d10&4)?1:0), css->objects[i].d5, css->objects[i].color2, ((css->objects[i].d10&8)?1:0), css->objects[i].d6, css->objects[i].d7, css->objects[i].d8, ((css->objects[i].d10&16)?1:0));
4094 }
4095 22954720 break;
4096
4097 default:
4098 {
4099 }
4100 break;
4101 }
4102
4103 //sso_bounding_box(dest, css, i, vc(15));
4104 175595004 }
4105 176363521 }
4106 7972206 }
4107
4108 std::string get_subscr_arrow_name(int itemid)
4109 {
4110 char itemname[256]="";
4111 if(Bitem && Bitem->dummy_bool[0]==true) //if we also have a bow
4112 {
4113 if(current_item_id(itype_bow)>-1)
4114 {
4115 bool hasarrows=checkmagiccost(itemid);
4116 sprintf(itemname, "%s%s%s", item_string[current_item_id(itype_bow)], hasarrows?" & ":"",hasarrows?item_string[Bitem->id]:"");
4117 }
4118 }
4119 return std::string(itemname);
4120 }
4121
4122 15361095 void buttonitem(BITMAP *dest, int32_t button, int32_t x, int32_t y)
4123 {
4124
4/5
✗ Branch 0 not taken.
✓ Branch 1 taken 7595007 times.
✓ Branch 2 taken 7597238 times.
✓ Branch 3 taken 84425 times.
✓ Branch 4 taken 84425 times.
15361095 switch(button)
4125 {
4126 case 0: //A button
4127
4/4
✓ Branch 0 taken 7461490 times.
✓ Branch 1 taken 133517 times.
✓ Branch 2 taken 9930 times.
✓ Branch 3 taken 7451560 times.
7595007 if(Aitem&&show_subscreen_items)
4128 {
4129 7451560 Aitem->x=x;
4130 7451560 Aitem->y=y;
4131 7451560 Aitem->hide_hitbox = true;
4132
4133
1/2
✓ Branch 0 taken 7451560 times.
✗ Branch 1 not taken.
7451560 switch(itemsbuf[Aitem->id].family)
4134 {
4135 case itype_arrow:
4136 if(Aitem->dummy_bool[0]==true)
4137 {
4138 if(current_item_id(itype_bow)>-1)
4139 {
4140 subscreenitem(dest, x, y, itype_bow);
4141 if(get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) break;
4142 if(!checkmagiccost(Aitem->id)) return;
4143 }
4144 }
4145
4146 break;
4147 }
4148
4149 7451560 Aitem->drawzcboss(dest);
4150 7451560 }
4151
4152 7595007 break;
4153
4154 case 1: //B button
4155
4/4
✓ Branch 0 taken 7303325 times.
✓ Branch 1 taken 293913 times.
✓ Branch 2 taken 9930 times.
✓ Branch 3 taken 7293395 times.
7597238 if(Bitem&&show_subscreen_items)
4156 {
4157 7293395 Bitem->x=x;
4158 7293395 Bitem->y=y;
4159 7293395 Bitem->hide_hitbox = true;
4160
4161
2/2
✓ Branch 0 taken 7003806 times.
✓ Branch 1 taken 289589 times.
7293395 switch(itemsbuf[Bitem->id].family)
4162 {
4163 case itype_arrow:
4164
2/4
✓ Branch 0 taken 289589 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 289589 times.
✗ Branch 3 not taken.
289589 if(Bitem && Bitem->dummy_bool[0]==true)
4165 {
4166 if(current_item_id(itype_bow)>-1)
4167 {
4168 subscreenitem(dest, x, y, itype_bow);
4169 if(get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) break;
4170 if(!checkmagiccost(Bitem->id)) return;
4171 }
4172 }
4173
4174 289589 break;
4175 }
4176
4177 7293395 Bitem->drawzcboss(dest);
4178 7293395 }
4179
4180 7597238 break;
4181
4182 case 2: //X button
4183
3/4
✓ Branch 0 taken 23307 times.
✓ Branch 1 taken 61118 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 23307 times.
84425 if(Xitem&&show_subscreen_items)
4184 {
4185 //Y button
4186 //zprint2("Drawing X Item\n");
4187 23307 Xitem->x=x;
4188 23307 Xitem->y=y;
4189 23307 Xitem->hide_hitbox = true;
4190
4191
1/2
✓ Branch 0 taken 23307 times.
✗ Branch 1 not taken.
23307 switch(itemsbuf[Xitem->id].family)
4192 {
4193 case itype_arrow:
4194 if(Xitem && Xitem->dummy_bool[0]==true)
4195 {
4196 if(current_item_id(itype_bow)>-1)
4197 {
4198 subscreenitem(dest, x, y, itype_bow);
4199 if(get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) break;
4200 if(!checkmagiccost(Xitem->id)) return;
4201 }
4202 }
4203
4204 break;
4205 }
4206
4207 23307 Xitem->drawzcboss(dest);
4208 23307 }
4209 //else zprint2("Xitem is NULL\n");
4210
4211 84425 break;
4212
4213 case 3:
4214
3/4
✓ Branch 0 taken 71047 times.
✓ Branch 1 taken 13378 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 71047 times.
84425 if(Yitem&&show_subscreen_items)
4215 {
4216 //Y button
4217 //zprint2("Drawing Y Item\n");
4218 71047 Yitem->x=x;
4219 71047 Yitem->y=y;
4220 71047 Yitem->hide_hitbox = true;
4221
4222
1/2
✓ Branch 0 taken 71047 times.
✗ Branch 1 not taken.
71047 switch(itemsbuf[Yitem->id].family)
4223 {
4224 case itype_arrow:
4225 if(Yitem && Yitem->dummy_bool[0]==true)
4226 {
4227 if(current_item_id(itype_bow)>-1)
4228 {
4229 subscreenitem(dest, x, y, itype_bow);
4230 if(get_bit(quest_rules,qr_NEVERDISABLEAMMOONSUBSCREEN)) break;
4231 if(!checkmagiccost(Yitem->id)) return;
4232 }
4233 }
4234
4235 break;
4236 }
4237
4238 71047 Yitem->drawzcboss(dest);
4239 71047 }
4240 //else zprint2("Yitem is NULL\n");
4241
4242 84425 break;
4243
4244 default:
4245 break;
4246 }
4247 15361095 }
4248
4249 5075142 void defaultcounters(BITMAP *dest, int32_t x, int32_t y, FONT *tempfont, int32_t color, int32_t shadowcolor, int32_t bgcolor, bool usex, int32_t textstyle, int32_t digits, char idigit)
4250 {
4251
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 5075142 times.
✓ Branch 2 taken 3131801 times.
✓ Branch 3 taken 1943341 times.
5075142 int32_t yofs = (game==NULL || (game->get_sbombs() && current_item_id(itype_sbomb)>-1)) ? 8 : 0;
4252
4253 //88, 16
4254 5075142 overtile8(dest,5,x,y,1,0);
4255 5075142 overtile8(dest,8,x,y+16-yofs,1,0);
4256 5075142 overtile8(dest,9,x,y+24-yofs,0,0);
4257
4258
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 5075142 times.
5075142 if(game)
4259 {
4260 5075142 bool magickey = false;
4261 5075142 int32_t itemid = current_item_id(itype_magickey);
4262
4263
2/2
✓ Branch 0 taken 3985806 times.
✓ Branch 1 taken 1089336 times.
5075142 if(itemid>-1)
4264 {
4265
1/2
✓ Branch 0 taken 1089336 times.
✗ Branch 1 not taken.
1089336 if(itemsbuf[itemid].flags&ITEM_FLAG1)
4266 1089336 magickey = itemsbuf[itemid].power>=get_dlevel();
4267 else
4268 magickey = itemsbuf[itemid].power==get_dlevel();
4269 1089336 }
4270
4271 5075142 putxnum(dest,x+8,y,game->get_rupies(),tempfont,color,shadowcolor,bgcolor,textstyle,usex,digits,current_item_power(itype_wallet)>0,idigit);
4272 5075142 putxnum(dest,x+8,y+16-yofs,game->get_keys()+game->get_lkeys(),tempfont,color,shadowcolor,bgcolor, textstyle,usex,digits,magickey,idigit);
4273 5075142 putxnum(dest,x+8,y+24-yofs,game->get_bombs(),tempfont,color,shadowcolor,bgcolor,textstyle,usex,digits,current_item_power(itype_bombbag)>0,idigit);
4274 5075142 }
4275
4276
5/6
✓ Branch 0 taken 5075142 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1943341 times.
✓ Branch 3 taken 3131801 times.
✓ Branch 4 taken 1940701 times.
✓ Branch 5 taken 2640 times.
5075142 if(game==NULL || (game->get_sbombs() && current_item_id(itype_sbomb)>-1))
4277 {
4278 1940701 overtile8(dest,13,x,y+24,1,0);
4279
4280
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1940701 times.
1940701 if(game)
4281 {
4282 1940701 int32_t itemid = current_item_id(itype_bombbag);
4283
3/4
✓ Branch 0 taken 739880 times.
✓ Branch 1 taken 1200821 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 739880 times.
1940701 bool superbomb = (itemid>=0 && itemsbuf[itemid].power>0 && itemsbuf[itemid].flags & ITEM_FLAG1);
4284
4285 1940701 putxnum(dest,x+8,y+24,game->get_sbombs(),tempfont,color,shadowcolor,bgcolor,textstyle,usex,digits,superbomb,idigit);
4286 1940701 }
4287 1940701 }
4288 5075142 }
4289
4290 10035961 bool is_counter_item(int32_t itemtype, int32_t countertype)
4291 {
4292 10035961 itemdata const& itm = itemsbuf[itemtype];
4293 10035961 int32_t ctr = scounter_to_ctr(countertype);
4294
1/2
✓ Branch 0 taken 10035961 times.
✗ Branch 1 not taken.
10035961 if(ctr == crNONE) return false;
4295
3/4
✓ Branch 0 taken 10035961 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 48838 times.
✓ Branch 3 taken 9987123 times.
10035961 if(ctr == itm.cost_counter[0] ||
4296 10035961 ctr == itm.cost_counter[1])
4297 48838 return true;
4298 9987123 return false;
4299 10035961 }
4300
4301 // itemtype1, itemtype2, itemtype3: Only itemtype1 is used. I'm unsure who made these, who disabled the code
4302 // for them, and when each occurred. They should probably be hidden, but some very old 2.11/2.50b quests
4303 // may have used this and we'd need to edit the uest to fix it as-is, so perrhaps hide them only conditionally?
4304 // or make them flipping work?
4305 // It seems that the original intent was to be able to display a sum of multipe counters as one value. -Z (26th Jan, 2020).
4306 33683396 void counter(BITMAP *dest, int32_t x, int32_t y, FONT *tempfont, int32_t color, int32_t shadowcolor, int32_t bgcolor, int32_t alignment, int32_t textstyle, int32_t digits, char idigit, bool showzero, int32_t itemtype1, int32_t itemtype2, int32_t itemtype3, int32_t infiniteitem, bool onlyselected)
4307 {
4308 33683396 int32_t value=0;
4309 33683396 bool infinite=false;
4310 33683396 int32_t itemtypes[3]={itemtype1, itemtype2, itemtype3};
4311
4312
5/6
✓ Branch 0 taken 14332184 times.
✓ Branch 1 taken 19351212 times.
✓ Branch 2 taken 332529 times.
✓ Branch 3 taken 13999655 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 332529 times.
33683396 if(game != NULL && game->get_item(infiniteitem) && !item_disabled(infiniteitem))
4313 {
4314 332529 infinite=true;
4315 332529 }
4316
4317 char valstring[80];
4318 char formatstring[80];
4319 33683396 sprintf(valstring,"01234567890123456789");
4320 33683396 sprintf(formatstring, "%%0%dd", digits);
4321
4322
13/16
✓ Branch 0 taken 1863848 times.
✓ Branch 1 taken 31819548 times.
✓ Branch 2 taken 1646200 times.
✓ Branch 3 taken 217648 times.
✓ Branch 4 taken 1597362 times.
✓ Branch 5 taken 48838 times.
✓ Branch 6 taken 1597362 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1731679 times.
✓ Branch 9 taken 3329041 times.
✓ Branch 10 taken 1731679 times.
✓ Branch 11 taken 1815010 times.
✓ Branch 12 taken 1731679 times.
✗ Branch 13 not taken.
✓ Branch 14 taken 1731679 times.
✗ Branch 15 not taken.
33683396 if(onlyselected && !(((Bitem&&(is_counter_item(Bitem->id,itemtype1)||is_counter_item(Bitem->id,itemtype2)||is_counter_item(Bitem->id,itemtype3)))||(Aitem&&(is_counter_item(Aitem->id,itemtype1)||is_counter_item(Aitem->id,itemtype2)||is_counter_item(Aitem->id,itemtype3))))))
4323 {
4324 1815010 return;
4325 }
4326
4327 int32_t itemtype;
4328 /*
4329 for (int32_t i=0; i<3; ++i)
4330 {
4331 switch (i)
4332 {
4333 case 0:
4334 itemtype=itemtype1;
4335 break;
4336 case 1:
4337 itemtype=itemtype2;
4338 break;
4339 case 2:
4340 itemtype=itemtype3;
4341 break;
4342 }
4343 */
4344 35331744 itemtype=itemtype1;
4345 /* commented out until I find out what it does - it's messing up custom subscreens now as
4346 itemtype2 and 3 are zero - so hero's life gets added to the counters */
4347
4348 /*
4349 Not sure who did that, but I implemented it in its own section, ignoring counter0] for now.
4350 It will need a format change to counter lists in order to allow stacking LIFE on other counters.
4351 For the present, counter 0 for item2 and item3 is NULL. -Z (26-Jan-2020)
4352 */
4353
4354
4355
7/12
✓ Branch 0 taken 24100236 times.
✓ Branch 1 taken 2553461 times.
✓ Branch 2 taken 251253 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 2484696 times.
✓ Branch 5 taken 1992280 times.
✓ Branch 6 taken 566576 times.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 3383242 times.
35331744 switch(itemtype)
4356 {
4357 case sscRUPEES:
4358
1/2
✓ Branch 0 taken 2484696 times.
✗ Branch 1 not taken.
2484696 if(current_item_power(itype_wallet))
4359 infinite=true;
4360
4361 2484696 value+=game->get_rupies();
4362 2484696 break;
4363
4364 case sscBOMBS:
4365
2/2
✓ Branch 0 taken 1974206 times.
✓ Branch 1 taken 18074 times.
1992280 if(current_item_power(itype_bombbag))
4366 18074 infinite=true;
4367
4368 1992280 value+=game->get_bombs();
4369 1992280 break;
4370
4371 case sscSBOMBS:
4372 {
4373 566576 int32_t itemid = current_item_id(itype_bombbag);
4374
4375
4/6
✓ Branch 0 taken 14624 times.
✓ Branch 1 taken 551952 times.
✓ Branch 2 taken 14624 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 14624 times.
✗ Branch 5 not taken.
566576 if(itemid>-1 && itemsbuf[itemid].power>0 && itemsbuf[itemid].flags & ITEM_FLAG1)
4376 14624 infinite=true;
4377
4378 566576 value+=game->get_sbombs();
4379 566576 break;
4380 }
4381
4382 case sscLIFE:
4383 {
4384 value+=game->get_life();
4385 break;
4386 }
4387 case sscMAGIC:
4388 {
4389 value+=game->get_magic();
4390 break;
4391 }
4392
4393 case sscMAXHP:
4394 {
4395 value+=game->get_maxlife();
4396 break;
4397 }
4398 case sscMAXMP:
4399 {
4400 value+=game->get_maxmagic();
4401 break;
4402 }
4403
4404 case sscARROWS:
4405
4/4
✓ Branch 0 taken 574325 times.
✓ Branch 1 taken 2808917 times.
✓ Branch 2 taken 588920 times.
✓ Branch 3 taken 2219997 times.
3383242 if((!get_bit(quest_rules,qr_TRUEARROWS) && current_item_power(itype_wallet)) || current_item_power(itype_quiver))
4406 1163245 infinite=true;
4407
4408 // If Hero somehow got ammunition before getting the arrow,
4409 // or if the arrow was disabled in a DMap,
4410 // we shouldn't put the value as zero.
4411 // if(/*current_item_id(itype_arrow)>-1*/ true)
4412 {
4413
2/2
✓ Branch 0 taken 1660267 times.
✓ Branch 1 taken 574325 times.
2234592 if(get_bit(quest_rules,qr_TRUEARROWS))
4414 {
4415 1660267 value+=game->get_arrows();
4416 1660267 }
4417 else
4418 {
4419 574325 value+=game->get_rupies();
4420 }
4421 }
4422 2234592 break;
4423
4424 case sscGENKEYMAGIC:
4425 case sscLEVKEYMAGIC:
4426 case sscANYKEYMAGIC:
4427 {
4428 2553461 int32_t itemid = current_item_id(itype_magickey);
4429
4430
3/4
✓ Branch 0 taken 246099 times.
✓ Branch 1 taken 2307362 times.
✓ Branch 2 taken 246099 times.
✗ Branch 3 not taken.
2553461 if(itemid>-1 && !infinite)
4431 {
4432 if(itemsbuf[itemid].flags&ITEM_FLAG1)
4433 infinite = itemsbuf[itemid].power>=get_dlevel();
4434 else
4435 infinite = itemsbuf[itemid].power==get_dlevel();
4436 }
4437 2553461 }
4438
4439 //fall through
4440 case sscANYKEYNOMAGIC:
4441 case sscLEVKEYNOMAGIC:
4442 case sscGENKEYNOMAGIC:
4443
2/4
✓ Branch 0 taken 2804714 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2238357 times.
5043071 if(itemtype == sscGENKEYNOMAGIC || itemtype == sscANYKEYNOMAGIC
4444
3/4
✓ Branch 0 taken 2804714 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 2238357 times.
✓ Branch 3 taken 566357 times.
2804714 || itemtype == sscGENKEYMAGIC || itemtype == sscANYKEYMAGIC)
4445 566357 value += game->get_keys();
4446
4447
3/4
✓ Branch 0 taken 2553461 times.
✓ Branch 1 taken 251253 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 566357 times.
3371071 if(itemtype == sscLEVKEYNOMAGIC || itemtype == sscANYKEYNOMAGIC
4448
3/4
✓ Branch 0 taken 2553461 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 566357 times.
✓ Branch 3 taken 1987104 times.
2553461 || itemtype == sscLEVKEYMAGIC || itemtype == sscANYKEYMAGIC)
4449 2238357 value += game->get_lkeys();
4450
4451 2804714 break;
4452
4453 case sscSCRIPT1:
4454 case sscSCRIPT2:
4455 case sscSCRIPT3:
4456 case sscSCRIPT4:
4457 case sscSCRIPT5:
4458 case sscSCRIPT6:
4459 case sscSCRIPT7:
4460 case sscSCRIPT8:
4461 case sscSCRIPT9:
4462 case sscSCRIPT10:
4463 case sscSCRIPT11:
4464 case sscSCRIPT12:
4465 case sscSCRIPT13:
4466 case sscSCRIPT14:
4467 case sscSCRIPT15:
4468 case sscSCRIPT16:
4469 case sscSCRIPT17:
4470 case sscSCRIPT18:
4471 case sscSCRIPT19:
4472 case sscSCRIPT20:
4473 case sscSCRIPT21:
4474 case sscSCRIPT22:
4475 case sscSCRIPT23:
4476 case sscSCRIPT24:
4477 case sscSCRIPT25:
4478 24100236 value += game->get_counter(itemtype-3);
4479 24100236 break;
4480
4481 default:
4482 break;
4483 }
4484
4485 //Re-implement item2 and item3 stacking counters. -Z 26-Jan-2020
4486
4/4
✓ Branch 0 taken 11543935 times.
✓ Branch 1 taken 22639159 times.
✓ Branch 2 taken 11179486 times.
✓ Branch 3 taken 11459673 times.
34183094 if ( /*get_bit(quest_rules,qrSTACKSUBSCREENCOUNTERS) || (*/( FFCore.getQuestHeaderInfo(vZelda) == 0x250 && FFCore.getQuestHeaderInfo(vBuild) >= 33 ) //this ishowit looks in 2.53.1, Beta 25
4487 34183094 || ( FFCore.getQuestHeaderInfo(vZelda) > 0x250 ) ) /*)*/
4488
4489 {
4490 //add item2 and item3 values to item1 values
4491
2/2
✓ Branch 0 taken 2115002 times.
✓ Branch 1 taken 1057501 times.
24838423 for (int32_t i=1; i<3; ++i)
4492 {
4493
4494
2/3
✗ Branch 0 not taken.
✓ Branch 1 taken 1057501 times.
✓ Branch 2 taken 1057501 times.
2115002 switch (i)
4495 {
4496 case 1:
4497 {
4498
2/2
✓ Branch 0 taken 495116 times.
✓ Branch 1 taken 562385 times.
1057501 if ( itemtypes[i] == itemtypes[i-1] )
4499 {
4500 495116 itemtype = -2;
4501 495116 break;
4502 }
4503 else
4504 {
4505 562385 itemtype=itemtype2;
4506 562385 break;
4507 }
4508 }
4509 case 2:
4510 {
4511
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 1057501 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
1057501 if ( ( itemtypes[i] == itemtypes[i-1] ) || ( itemtypes[i] == itemtypes[i-2] ) )
4512 {
4513 1057501 itemtype = -3;
4514 1057501 break;
4515 }
4516 else
4517 {
4518 itemtype=itemtype3;
4519 break;
4520 }
4521
4522 }
4523 }
4524
4525
1/11
✗ Branch 0 not taken.
✓ Branch 1 taken 2115002 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
2115002 switch(itemtype)
4526 {
4527 case -3:
4528 case -2:
4529 case sscLIFE:
4530 case sscRUPEES:
4531 {
4532 //do nothing if any of these three. -Z
4533 //value+=game->get_life(); Life cannot stack. It's NULL. :/
4534 2115002 break;
4535 }
4536 //case sscRUPEES:
4537 //{
4538 // if(current_item_power(itype_wallet))
4539 // infinite=true;
4540 // value+=game->get_rupies();
4541 // break;
4542 //}
4543 case sscBOMBS:
4544 {
4545 if(current_item_power(itype_bombbag))
4546 infinite=true;
4547 value+=game->get_bombs();
4548 break;
4549 }
4550 case sscSBOMBS:
4551 {
4552 int32_t itemid = current_item_id(itype_bombbag);
4553 if(itemid>-1 && itemsbuf[itemid].power>0 && itemsbuf[itemid].flags & ITEM_FLAG1)
4554 infinite=true;
4555 value+=game->get_sbombs();
4556 break;
4557 }
4558 case sscMAGIC:
4559 {
4560 value+=game->get_magic();
4561 break;
4562 }
4563 case sscMAXHP:
4564 {
4565 value+=game->get_maxlife();
4566 break;
4567 }
4568 case sscMAXMP:
4569 {
4570 value+=game->get_maxmagic();
4571 break;
4572 }
4573 case sscARROWS:
4574 if((!get_bit(quest_rules,qr_TRUEARROWS) && current_item_power(itype_wallet)) || current_item_power(itype_quiver))
4575 infinite=true;
4576
4577 // If Hero somehow got ammunition before getting the arrow,
4578 // or if the arrow was disabled in a DMap,
4579 // we shouldn't put the value as zero.
4580 // if(/*current_item_id(itype_arrow)>-1*/ true)
4581 {
4582 if(get_bit(quest_rules,qr_TRUEARROWS))
4583 {
4584 value+=game->get_arrows();
4585 }
4586 else
4587 {
4588 value+=game->get_rupies();
4589 }
4590 }
4591 break;
4592
4593 case sscGENKEYMAGIC:
4594 case sscLEVKEYMAGIC:
4595 case sscANYKEYMAGIC:
4596 {
4597 int32_t itemid = current_item_id(itype_magickey);
4598 if(itemid>-1 && !infinite)
4599 {
4600 if(itemsbuf[itemid].flags&ITEM_FLAG1)
4601 {
4602 infinite = itemsbuf[itemid].power>=get_dlevel();
4603 }
4604 else
4605 {
4606 infinite = itemsbuf[itemid].power==get_dlevel();
4607 }
4608 }
4609 }
4610
4611 //fall through
4612 case sscANYKEYNOMAGIC:
4613 case sscLEVKEYNOMAGIC:
4614 case sscGENKEYNOMAGIC:
4615 if(itemtype == sscGENKEYNOMAGIC || itemtype == sscANYKEYNOMAGIC
4616 || itemtype == sscGENKEYMAGIC || itemtype == sscANYKEYMAGIC)
4617 {
4618 value += game->get_keys();
4619 }
4620
4621 if(itemtype == sscLEVKEYNOMAGIC || itemtype == sscANYKEYNOMAGIC
4622 || itemtype == sscLEVKEYMAGIC || itemtype == sscANYKEYMAGIC)
4623 {
4624 value += game->get_lkeys();
4625 }
4626 break;
4627
4628 case sscSCRIPT1:
4629 case sscSCRIPT2:
4630 case sscSCRIPT3:
4631 case sscSCRIPT4:
4632 case sscSCRIPT5:
4633 case sscSCRIPT6:
4634 case sscSCRIPT7:
4635 case sscSCRIPT8:
4636 case sscSCRIPT9:
4637 case sscSCRIPT10:
4638 case sscSCRIPT11:
4639 case sscSCRIPT12:
4640 case sscSCRIPT13:
4641 case sscSCRIPT14:
4642 case sscSCRIPT15:
4643 case sscSCRIPT16:
4644 case sscSCRIPT17:
4645 case sscSCRIPT18:
4646 case sscSCRIPT19:
4647 case sscSCRIPT20:
4648 case sscSCRIPT21:
4649 case sscSCRIPT22:
4650 case sscSCRIPT23:
4651 case sscSCRIPT24:
4652 case sscSCRIPT25:
4653 {
4654 value += game->get_counter(itemtype-3);
4655 break;
4656 }
4657
4658 default:
4659 {
4660 break;
4661 }
4662 }
4663
4664 2115002 }
4665 1057501 }
4666
4667 // (for loop) }
4668
5/6
✓ Branch 0 taken 1153880 times.
✓ Branch 1 taken 11363294 times.
✓ Branch 2 taken 990683 times.
✓ Branch 3 taken 163197 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 990683 times.
12517174 if(!showzero&&!value&&!infinite)
4669 {
4670 990683 return;
4671 }
4672
4673
2/2
✓ Branch 0 taken 293392 times.
✓ Branch 1 taken 11233099 times.
11526491 if(infinite)
4674 {
4675 293392 sprintf(valstring, "%c", idigit);
4676 293392 }
4677 else
4678 {
4679 11233099 sprintf(valstring, formatstring, value);
4680 }
4681
4682 11526491 textout_styled_aligned_ex(dest,tempfont,valstring,x,y,textstyle,alignment,color,shadowcolor,bgcolor);
4683
4684 // putxnum(dest,x+8,y,game->get_rupies(),tempfont,color,shadowcolor,bgcolor,shadowed,usex,digits,0,idigit);
4685 14332184 }
4686
4687 7064297 void minimaptitle(BITMAP *dest, int32_t x, int32_t y, FONT *tempfont, int32_t color, int32_t shadowcolor, int32_t bgcolor, int32_t alignment, int32_t textstyle)
4688 {
4689 char dmaptitlesource[2][11];
4690 char dmaptitle[2][11];
4691 7064297 sprintf(dmaptitlesource[0], "%.10s", DMaps[get_currdmap()].title);
4692 7064297 sprintf(dmaptitlesource[1], "%.10s", DMaps[get_currdmap()].title+10);
4693
4694 7064297 int32_t title_len1=stripspaces(dmaptitlesource[0], dmaptitle[0], 10);
4695 7064297 int32_t title_len2=stripspaces(dmaptitlesource[1], dmaptitle[1], 10);
4696
4697
3/4
✓ Branch 0 taken 1039956 times.
✓ Branch 1 taken 6024341 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 1039956 times.
7064297 if((title_len1>0)||(title_len2>0))
4698 {
4699
3/4
✓ Branch 0 taken 6024341 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4805492 times.
✓ Branch 3 taken 1218849 times.
6024341 if((title_len1>0)&&(title_len2>0))
4700 {
4701 1218849 textprintf_styled_aligned_ex(dest,tempfont,x,y+8,textstyle,alignment,color,shadowcolor,bgcolor,"%s",dmaptitle[1]);
4702 1218849 textprintf_styled_aligned_ex(dest,tempfont,x,y,textstyle,alignment,color,shadowcolor,bgcolor,"%s",dmaptitle[0]);
4703 1218849 }
4704 else
4705 {
4706
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 4805492 times.
4805492 if(title_len1>0)
4707 {
4708 4805492 textprintf_styled_aligned_ex(dest,tempfont,x,y+8,textstyle,alignment,color,shadowcolor,bgcolor,"%s",dmaptitle[0]);
4709 4805492 }
4710 else
4711 {
4712 textprintf_styled_aligned_ex(dest,tempfont,x,y+8,textstyle,alignment,color,shadowcolor,bgcolor,"%s",dmaptitle[1]);
4713 }
4714 }
4715 6024341 }
4716 7064297 }
4717
4718 7801457 void put_passive_subscr(BITMAP *dest,miscQdata *misc,int32_t x,int32_t y,bool showtime,int32_t pos2)
4719 {
4720 // uncomment this?
4721 // load_Sitems();
4722 7801457 Sitems.animate();
4723 7801457 update_subscr_items();
4724 7801457 BITMAP *subscr = create_sub_bitmap(dest,x,y,256,passive_subscreen_height);
4725
4726
2/2
✓ Branch 0 taken 36795 times.
✓ Branch 1 taken 7764662 times.
7801457 if(no_subscreen())
4727 {
4728 36795 clear_to_color(subscr,0);
4729 36795 destroy_bitmap(subscr);
4730 36795 return;
4731 }
4732
4733 7764662 show_custom_subscreen(subscr, misc, current_subscreen_passive, 0, 0, showtime, pos2);
4734 7764662 destroy_bitmap(subscr);
4735 7801457 }
4736
4737 /*
4738 const byte tripiece[8*3] =
4739 {
4740 112,112,0, 128,112,1, 96,128,0, 144,128,1,
4741 112,128,2, 112,128,1, 128,128,3, 128,128,0
4742 };
4743 */
4744
4745 33668 void puttriframe(BITMAP *dest, miscQdata *misc, int32_t x, int32_t y, int32_t triframecolor, int32_t numbercolor, int32_t triframetile, int32_t triframecset, int32_t triforcetile, int32_t triforcecset, bool showframe, bool showpieces, bool largepieces)
4746 {
4747
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 33668 times.
33668 if(triframetile==0)
4748 {
4749 33668 triframetile=misc->colors.triframe_tile;
4750 33668 triframecset=misc->colors.triframe_cset;
4751 33668 }
4752
4753
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 33668 times.
33668 if(triforcetile==0)
4754 {
4755 33668 triforcetile=misc->colors.triforce_tile;
4756 33668 triforcecset=misc->colors.triforce_cset;
4757 33668 }
4758
4759
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 33668 times.
33668 if(!largepieces)
4760 {
4761
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 33668 times.
33668 if(showframe)
4762 {
4763
2/2
✓ Branch 0 taken 26873 times.
✓ Branch 1 taken 6795 times.
33668 if(triframetile)
4764 {
4765 26873 draw_block(dest,x,y,triframetile,triframecset,6,3);
4766 26873 }
4767 else
4768 {
4769 6795 line(dest,x+47,y,x+1,y+46,triframecolor);
4770 6795 line(dest,x+48,y,x+94,y+46,triframecolor);
4771 6795 _allegro_hline(dest,x,y+47,x+95,triframecolor);
4772 6795 line(dest,x+47,y+7,x+15,y+39,triframecolor);
4773 6795 line(dest,x+48,y+7,x+80,y+39,triframecolor);
4774 6795 _allegro_hline(dest,x+15,y+40,x+80,triframecolor);
4775 }
4776 33668 }
4777
4778
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 33668 times.
33668 if(showpieces)
4779 {
4780
2/2
✓ Branch 0 taken 269344 times.
✓ Branch 1 taken 33668 times.
303012 for(int32_t i=0; i<8; i++)
4781 {
4782 269344 int32_t lvl = i+1;
4783
4784
4/4
✓ Branch 0 taken 168656 times.
✓ Branch 1 taken 100688 times.
✓ Branch 2 taken 84328 times.
✓ Branch 3 taken 84328 times.
269344 if(get_bit(quest_rules,qr_4TRI) && lvl>4)
4785 84328 lvl -= 4;
4786
4787
2/2
✓ Branch 0 taken 157374 times.
✓ Branch 1 taken 111970 times.
269344 if(has_item(itype_triforcepiece, lvl))
4788 {
4789 111970 int32_t tp=0;
4790
4791
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 424715 times.
424715 for(; tp<8; tp++)
4792
2/2
✓ Branch 0 taken 312745 times.
✓ Branch 1 taken 111970 times.
424715 if(misc->triforce[tp] == i+1)
4793 111970 break;
4794
4795 111970 overtile16(dest,triforcetile,x+tripiece[0][tp][0],y+tripiece[0][tp][1],triforcecset,tripiece[0][tp][2]);
4796 111970 }
4797 269344 }
4798 33668 }
4799 33668 }
4800 else
4801 {
4802 if(showframe)
4803 {
4804 if(triframetile)
4805 {
4806 draw_block(dest,x,y,triframetile,triframecset,7,7);
4807 }
4808 else
4809 {
4810 if(!get_bit(quest_rules,qr_4TRI))
4811 {
4812 //left inside vertical
4813 _allegro_vline(dest,x+31,y+56,y+103,triframecolor);
4814 _allegro_vline(dest,x+32,y+56,y+103,triframecolor);
4815
4816 //center inside vertical top
4817 _allegro_vline(dest,x+55,y+8 ,y+55,triframecolor);
4818 _allegro_vline(dest,x+56,y+8 ,y+55,triframecolor);
4819
4820 //right inside vertical
4821 _allegro_vline(dest,x+79,y+56,y+103,triframecolor);
4822 _allegro_vline(dest,x+80,y+56,y+103,triframecolor);
4823
4824 if(!get_bit(quest_rules,qr_3TRI))
4825 {
4826 //center inside vertical bottom
4827 _allegro_vline(dest,x+55,y+56,y+103,triframecolor);
4828 _allegro_vline(dest,x+56,y+56,y+103,triframecolor);
4829 }
4830 }
4831
4832 //middle inside horizontal
4833 _allegro_hline(dest,x+32,y+55,x+79,triframecolor);
4834 _allegro_hline(dest,x+32,y+56,x+79,triframecolor);
4835
4836 //bottom outside horizontal
4837 _allegro_hline(dest,x+8,y+103,x+103,triframecolor);
4838
4839 //left outside diagonal
4840 line(dest,x+8,y+103,x+55,y+8,triframecolor);
4841 line(dest,x+9,y+102,x+55,y+9,triframecolor);
4842
4843 //right outside diagonal
4844 line(dest,x+56,y+8,x+103,y+103,triframecolor);
4845 line(dest,x+56,y+9,x+102,y+102,triframecolor);
4846
4847 //left inside diagonal
4848 line(dest,x+32,y+56,x+55,y+103,triframecolor);
4849 line(dest,x+32,y+57,x+54,y+102,triframecolor);
4850 line(dest,x+32,y+55,x+55,y+102,triframecolor);
4851
4852 //right inside diagonal
4853 line(dest,x+56,y+103,x+79,y+56,triframecolor);
4854 line(dest,x+57,y+102,x+79,y+57,triframecolor);
4855 line(dest,x+56,y+102,x+79,y+55,triframecolor);
4856
4857 for(int32_t i=0; i<8; i++)
4858 {
4859 int32_t lvl = i+1;
4860
4861 if(get_bit(quest_rules,qr_4TRI) && lvl>4)
4862 {
4863 lvl -= 4;
4864 }
4865
4866 int32_t tp=0;
4867
4868 for(; tp<8; tp++)
4869 {
4870 if(misc->triforce[tp] == i+1)
4871 {
4872 break;
4873 }
4874 }
4875
4876 if(!has_item(itype_triforcepiece, lvl))
4877 {
4878 textprintf_ex(dest, get_zc_font(font_pfont), x+tripiece[1][tp][0]+((tripiece[1][tp][2]&1)?8:14),y+tripiece[1][tp][1]+((tripiece[1][tp][2]&2)?9:32), numbercolor, -1, "%d", lvl);
4879 }
4880 }
4881 }
4882 }
4883
4884 if(showpieces)
4885 {
4886 for(int32_t i=0; i<8; i++)
4887 {
4888 int32_t lvl = i+1;
4889
4890 if(get_bit(quest_rules,qr_4TRI) && lvl>4)
4891 {
4892 lvl -= 4;
4893 }
4894
4895 int32_t tp=0;
4896
4897 for(; tp<8; tp++)
4898 {
4899 if(misc->triforce[tp] == i+1)
4900 {
4901 break;
4902 }
4903 }
4904
4905 if(has_item(itype_triforcepiece, lvl))
4906 {
4907 draw_block_flip(dest,x+tripiece[1][tp][0]-(tripiece[1][tp][2]&1?0:8),y+tripiece[1][tp][1],triforcetile,triforcecset,2,3,tripiece[1][tp][2],1,0);
4908 }
4909 }
4910 }
4911 }
4912 33668 }
4913
4914
4915 void puttriforce(BITMAP *dest, miscQdata *misc, int32_t x, int32_t y, int32_t tile, int32_t cset, int32_t w, int32_t h, int32_t flip, bool overlay, bool trans, int32_t trinum)
4916 {
4917 if(tile==0)
4918 {
4919 tile=misc->colors.triforce_tile;
4920 cset=misc->colors.triforce_cset;
4921 }
4922
4923 if(trinum <= 8)
4924 {
4925 for(int32_t i=0; i<8; i++)
4926 {
4927 int32_t lvl = i+1;
4928
4929 if(get_bit(quest_rules,qr_4TRI) && lvl>4)
4930 lvl -= 4;
4931
4932 if(lvl==trinum && has_item(itype_triforcepiece, lvl))
4933 {
4934 int32_t tp=0;
4935
4936 for(; tp<8; tp++)
4937 if(misc->triforce[tp] == i+1)
4938 break;
4939
4940 draw_block_flip(dest,x,y,tile,cset,w,h,flip,overlay,trans);
4941 }
4942 }
4943 }
4944 else if(has_item(itype_triforcepiece, trinum))
4945 {
4946 draw_block_flip(dest,x,y,tile,cset,w,h,flip,overlay,trans);
4947 }
4948 }
4949
4950 /*
4951 const byte bmap[16*2] = {
4952 0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,
4953 0,3,0,0,0,3,0,0,0,0,3,0,0,0,3,0 };
4954
4955 const int32_t fringe[8] = { 6,2,4,7,6,8,7,5 };
4956
4957 const byte bmaptiles[8*5] = {
4958 0, 1, 2, 3, 2, 3, 3, 4,
4959 20,21,22,23,22,23,23,24,
4960 20,21,22,23,22,23,23,24,
4961 20,21,22,23,22,23,23,24,
4962 40,41,42,43,42,43,43,44 };
4963 */
4964
4965 void draw_block(BITMAP *dest,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h);
4966 195710 void putBmap(BITMAP *dest, miscQdata *misc, int32_t x, int32_t y,bool showmap, bool showrooms, bool showhero, int32_t roomcolor, int32_t herocolor, bool large)
4967 {
4968 195710 int32_t si=0;
4969
4970
2/2
✓ Branch 0 taken 121021 times.
✓ Branch 1 taken 74689 times.
195710 int32_t maptile=has_item(itype_map, get_dlevel())?DMaps[get_currdmap()].largemap_2_tile:DMaps[get_currdmap()].largemap_1_tile;
4971
2/2
✓ Branch 0 taken 121021 times.
✓ Branch 1 taken 74689 times.
195710 int32_t mapcset=has_item(itype_map, get_dlevel())?DMaps[get_currdmap()].largemap_2_cset:DMaps[get_currdmap()].largemap_1_cset;
4972
4973
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 195710 times.
195710 if(showmap)
4974 {
4975
2/2
✓ Branch 0 taken 1886 times.
✓ Branch 1 taken 193824 times.
195710 if(maptile)
4976 {
4977 1886 draw_block(dest,x,y,maptile,mapcset,large?9:7,5);
4978 1886 }
4979
3/4
✓ Branch 0 taken 101058 times.
✓ Branch 1 taken 92766 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 101058 times.
193824 else if(misc->colors.dungeon_map_tile||misc->colors.dungeon_map_tile)
4980 {
4981
2/2
✓ Branch 0 taken 463830 times.
✓ Branch 1 taken 92766 times.
556596 for(int32_t y2=0; y2<5; y2++)
4982 {
4983
2/2
✓ Branch 0 taken 3710640 times.
✓ Branch 1 taken 463830 times.
4174470 for(int32_t x2=0; x2<(large?8:6); x2++)
4984 {
4985
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 3710640 times.
✓ Branch 2 taken 3710640 times.
✗ Branch 3 not taken.
3710640 overtile16(dest,(misc->colors.dungeon_map_tile!=0?misc->colors.dungeon_map_tile:misc->colors.dungeon_map_tile)+(large?bmaptiles_original[y2][x2]:bmaptiles_bs[y2][x2]),x+(x2<<4),y+(y2<<4),misc->colors.dungeon_map_cset,0);
4986 //++si;
4987 3710640 }
4988 463830 }
4989 92766 }
4990 else
4991 {
4992 101058 BITMAP *bmp = create_bitmap_ex(8,8,8);
4993
4994
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 101058 times.
101058 if(!bmp)
4995 return;
4996
4997 101058 clear_bitmap(bmp);
4998
4999
2/2
✓ Branch 0 taken 808464 times.
✓ Branch 1 taken 101058 times.
909522 for(int32_t x2=0; x2<8; x2++)
5000 {
5001
2/2
✓ Branch 0 taken 4547610 times.
✓ Branch 1 taken 808464 times.
5356074 for(int32_t y2=8-fringe[x2]; y2<8; y2++)
5002 {
5003 4547610 putpixel(bmp,x2,y2,misc->colors.bmap_bg);
5004 4547610 }
5005 808464 }
5006
5007 101058 rectfill(dest,x,y,x+(large?127:95),y+79,misc->colors.bmap_bg);
5008
5009
2/2
✓ Branch 0 taken 202116 times.
✓ Branch 1 taken 101058 times.
303174 for(int32_t y2=0; y2<2; ++y2)
5010 {
5011
2/2
✓ Branch 0 taken 3233856 times.
✓ Branch 1 taken 202116 times.
3435972 for(int32_t x2=0; x2<(large?16:12); ++x2)
5012 {
5013
3/4
✓ Branch 0 taken 3233856 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 2425392 times.
✓ Branch 3 taken 808464 times.
3233856 if((large?bmap_original[y2][x2]:bmap_bs[y2][x2]))
5014 {
5015 808464 rectfill(dest,(x2<<3)+x,(y2*72)+y,(x2<<3)+x+7,(y2*72)+y+7,misc->colors.subscr_bg);
5016
5017
3/5
✓ Branch 0 taken 808464 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 404232 times.
✓ Branch 4 taken 404232 times.
808464 switch((large?bmap_original[y2][x2]:bmap_bs[y2][x2]))
5018 {
5019 case 3:
5020 404232 draw_sprite_v_flip(dest,bmp,(x2<<3)+x,(y2*72)+y);
5021 404232 break;
5022
5023 404232 case 1:
5024 default:
5025 404232 draw_sprite(dest,bmp,(x2<<3)+x,(y2*72)+y);
5026 404232 break;
5027 }
5028 808464 }
5029 3233856 }
5030 202116 }
5031
5032 101058 destroy_bitmap(bmp);
5033 }
5034 195710 }
5035
5036
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 195710 times.
195710 if(showrooms)
5037 {
5038
1/2
✓ Branch 0 taken 195710 times.
✗ Branch 1 not taken.
195710 if(roomcolor==-1)
5039 {
5040 roomcolor = misc->colors.bmap_fg;
5041 }
5042
5043 195710 si=(get_currdmap() << 7);
5044
5045
2/2
✓ Branch 0 taken 1565680 times.
✓ Branch 1 taken 195710 times.
1761390 for(int32_t y2=y+8; y2<y+72; y2+=8)
5046 {
5047
2/2
✓ Branch 0 taken 11587993 times.
✓ Branch 1 taken 1565680 times.
13153673 while(((unsigned)((si&0xF)-DMaps[get_currdmap()].xoff))>7)
5048 11587993 ++si;
5049 1565680 int32_t xoffs = DMaps[get_currdmap()].xoff;
5050
2/2
✓ Branch 0 taken 12132656 times.
✓ Branch 1 taken 1565680 times.
13698336 for(int32_t x2=x+(large?32:16)+(maptile?8:0); x2<x+(large?96:80)+(maptile?8:0); x2+=8)
5051 {
5052
2/2
✓ Branch 0 taken 11782672 times.
✓ Branch 1 taken 349984 times.
12132656 if(xoffs < 0)
5053 {
5054 349984 x2 += (8*-xoffs);
5055 349984 xoffs = 0;
5056 349984 }
5057
2/2
✓ Branch 0 taken 8331921 times.
✓ Branch 1 taken 3800735 times.
12132656 if(get_bmaps(si))
5058 {
5059 3800735 rectfill(dest,x2+1,y2+1,x2+6,y2+6,roomcolor);
5060
5061
2/2
✓ Branch 0 taken 2751198 times.
✓ Branch 1 taken 1049537 times.
3800735 if(get_bmaps(si)&1) _allegro_hline(dest,x2+3,y2, x2+4,roomcolor); //top door
5062
5063
2/2
✓ Branch 0 taken 2441804 times.
✓ Branch 1 taken 1358931 times.
3800735 if(get_bmaps(si)&2) _allegro_hline(dest,x2+3,y2+7,x2+4,roomcolor); //bottom door
5064
5065
2/2
✓ Branch 0 taken 2805182 times.
✓ Branch 1 taken 995553 times.
3800735 if(get_bmaps(si)&4) _allegro_vline(dest,x2, y2+3,y2+4,roomcolor); //left door
5066
5067
2/2
✓ Branch 0 taken 2881933 times.
✓ Branch 1 taken 918802 times.
3800735 if(get_bmaps(si)&8) _allegro_vline(dest,x2+7,y2+3,y2+4,roomcolor); //right door
5068 3800735 }
5069
5070 12132656 ++si;
5071 12132656 }
5072
2/2
✓ Branch 0 taken 1215696 times.
✓ Branch 1 taken 349984 times.
1565680 if(DMaps[get_currdmap()].xoff < 0)
5073 {
5074 349984 si -= DMaps[get_currdmap()].xoff;
5075 349984 }
5076 1565680 }
5077 195710 }
5078
5079
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 195710 times.
195710 if(showhero)
5080 {
5081
2/2
✓ Branch 0 taken 19636 times.
✓ Branch 1 taken 176074 times.
195710 if(get_currscr()<MAPSCRSNORMAL)
5082 {
5083
1/2
✓ Branch 0 taken 176074 times.
✗ Branch 1 not taken.
176074 if(herocolor==-1)
5084 {
5085 herocolor=misc->colors.hero_dot;
5086 }
5087
5088
2/2
✓ Branch 0 taken 3340 times.
✓ Branch 1 taken 172734 times.
176074 int32_t xoff = (((DMaps[get_currdmap()].type&dmfTYPE)==dmOVERW) ? 0 : DMaps[get_currdmap()].xoff);
5089 176074 putdot(dest,(((get_homescr()&15)-xoff)<<3)+x+(large?34:18)+(maptile?8:0),((get_homescr()&0xF0)>>1)+y+11,herocolor);
5090 176074 }
5091 195710 }
5092 195710 }
5093
5094
5095 34678 void load_Sitems(miscQdata *misc)
5096 {
5097 34678 Sitems.clear();
5098
5099 // HC Pieces
5100
2/2
✓ Branch 0 taken 9012 times.
✓ Branch 1 taken 25666 times.
34678 if(misc->colors.HCpieces_tile)
5101 {
5102 // item *HCP = new item((zfix)(inventory_x[5]-ofs),(zfix)y,iMax,0,0);
5103
4/8
✓ Branch 0 taken 25666 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 25666 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 25666 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 25666 times.
✗ Branch 7 not taken.
25666 item *HCP = new item((zfix)0,(zfix)0,(zfix)0,iHCPiece,0,0);
5104
5105
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 25666 times.
25666 if(HCP)
5106 {
5107 25666 int32_t hcpphc = game->get_hcp_per_hc();
5108
2/2
✓ Branch 0 taken 24925 times.
✓ Branch 1 taken 741 times.
25666 HCP->tile = misc->colors.HCpieces_tile + vbound(game->get_HCpieces(),0,hcpphc > 0 ? hcpphc-1 : 0);
5109 25666 HCP->o_tile = HCP->tile;
5110 25666 HCP->cs = misc->colors.HCpieces_cset;
5111 25666 HCP->frames = 0;
5112 25666 add_subscr_item(HCP);
5113 25666 }
5114 25666 }
5115
5116
2/2
✓ Branch 0 taken 24752 times.
✓ Branch 1 taken 9926 times.
34678 if(has_item(itype_map, get_dlevel()))
5117 {
5118
4/8
✓ Branch 0 taken 9926 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 9926 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 9926 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 9926 times.
✗ Branch 7 not taken.
9926 add_subscr_item(new item((zfix)0,(zfix)0,(zfix)0,iMap,0,0));
5119 9926 }
5120
5121
2/2
✓ Branch 0 taken 22621 times.
✓ Branch 1 taken 12057 times.
34678 if(has_item(itype_compass, get_dlevel()))
5122 {
5123
4/8
✓ Branch 0 taken 12057 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 12057 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 12057 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 12057 times.
✗ Branch 7 not taken.
12057 add_subscr_item(new item((zfix)0,(zfix)0,(zfix)0,iCompass,0,0));
5124 12057 }
5125
5126
2/2
✓ Branch 0 taken 31128 times.
✓ Branch 1 taken 3550 times.
34678 if(has_item(itype_bosskey, get_dlevel()))
5127 {
5128
4/8
✓ Branch 0 taken 3550 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 3550 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3550 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 3550 times.
✗ Branch 7 not taken.
3550 add_subscr_item(new item((zfix)0,(zfix)0,(zfix)0,iBossKey,0,0));
5129 3550 }
5130
5131
2/2
✓ Branch 0 taken 34678 times.
✓ Branch 1 taken 17755136 times.
17789814 for(int32_t i=0; i<itype_max; i++)
5132 {
5133 //special case: ignore the dmap-specific items processed above. -DD
5134
6/6
✓ Branch 0 taken 17720458 times.
✓ Branch 1 taken 34678 times.
✓ Branch 2 taken 17685780 times.
✓ Branch 3 taken 34678 times.
✓ Branch 4 taken 34678 times.
✓ Branch 5 taken 17651102 times.
17755136 if(i == itype_map || i == itype_compass || i == itype_bosskey)
5135 104034 continue;
5136
5137 // Display the ring even if it has run out of magic.
5138
2/2
✓ Branch 0 taken 17154898 times.
✓ Branch 1 taken 496204 times.
17651102 if(current_item_id(i,false)>-1)
5139 {
5140 496204 int32_t j = current_item_id(i,false);
5141 //al_trace("About to check itemsbuf[j].tile in subscreen.cpp, line 4634, loop[%d]\n",j);
5142
2/2
✓ Branch 0 taken 9098 times.
✓ Branch 1 taken 487106 times.
496204 if(itemsbuf[j].tile)
5143
4/8
✓ Branch 0 taken 487106 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 487106 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 487106 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 487106 times.
✗ Branch 7 not taken.
487106 add_subscr_item(new item((zfix)0, (zfix)0,(zfix)0,j,0,0));
5144 496204 }
5145 17651102 }
5146 //al_trace("Finished load_Sitems(%d)\n",0);
5147
5148 34678 new_sel=true;
5149 34678 }
5150
5151 26141 void update_subscreens(int32_t dmap)
5152 {
5153
2/2
✓ Branch 0 taken 24578 times.
✓ Branch 1 taken 1563 times.
26141 if(dmap<0)
5154 24578 dmap=get_currdmap();
5155
5156 26141 int32_t index=DMaps[dmap].active_subscreen;
5157
5158 26141 int32_t i=-1, j=0;
5159
5160
4/4
✓ Branch 0 taken 2669 times.
✓ Branch 1 taken 81451 times.
✓ Branch 2 taken 57979 times.
✓ Branch 3 taken 26141 times.
84120 while(custom_subscreen[j].objects[0].type!=ssoNULL&&i!=index)
5161 {
5162
2/2
✓ Branch 0 taken 49523 times.
✓ Branch 1 taken 8456 times.
57979 if(custom_subscreen[j].ss_type==sstACTIVE)
5163 {
5164 49523 ++i;
5165 49523 }
5166
5167 57979 ++j;
5168 }
5169
5170 26141 current_subscreen_active=&custom_subscreen[j-1];
5171
5172 26141 index=DMaps[dmap].passive_subscreen;
5173
5174 26141 i=-1, j=0;
5175
5176
4/4
✓ Branch 0 taken 14215 times.
✓ Branch 1 taken 112706 times.
✓ Branch 2 taken 100780 times.
✓ Branch 3 taken 26141 times.
126921 while(custom_subscreen[j].objects[0].type!=ssoNULL&&i!=index)
5177 {
5178
2/2
✓ Branch 0 taken 55419 times.
✓ Branch 1 taken 45361 times.
100780 if(custom_subscreen[j].ss_type==sstPASSIVE)
5179 {
5180 45361 ++i;
5181 45361 }
5182
5183 100780 ++j;
5184 }
5185
5186 26141 current_subscreen_passive=&custom_subscreen[j-1];
5187 26141 }
5188
5189 92 int32_t ss_objects(subscreen_group *tempss)
5190 {
5191 92 int32_t i=0;
5192
5193
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 3979 times.
✓ Branch 2 taken 3887 times.
✓ Branch 3 taken 92 times.
3979 while(i<MAXSUBSCREENITEMS&&tempss->objects[i].type!=ssoNULL)
5194 {
5195 3887 ++i;
5196 }
5197
5198 92 return i;
5199 }
5200
5201
5202 92 void purge_blank_subscreen_objects(subscreen_group *tempss)
5203 {
5204 92 int32_t objects=ss_objects(tempss);
5205 subscreen_object tempsso;
5206
5207 //filter all the ssoNONE items to the end (yeah, bubble sort; sue me)
5208
2/2
✓ Branch 0 taken 3795 times.
✓ Branch 1 taken 92 times.
3887 for(int32_t j=0; j<objects-1; j++)
5209 {
5210
2/2
✓ Branch 0 taken 103983 times.
✓ Branch 1 taken 3795 times.
107778 for(int32_t k=0; k<objects-1-j; k++)
5211 {
5212
2/2
✓ Branch 0 taken 49588 times.
✓ Branch 1 taken 54395 times.
103983 if(tempss->objects[k].type==ssoNONE)
5213 {
5214 54395 tempsso=tempss->objects[k];
5215 54395 tempss->objects[k]=tempss->objects[k+1];
5216 54395 tempss->objects[k+1]=tempsso;
5217 54395 }
5218 103983 }
5219 3795 }
5220
5221 //NULL out the ssoNONE items
5222
2/2
✓ Branch 0 taken 3887 times.
✓ Branch 1 taken 92 times.
3979 for(int32_t j=0; j<objects; j++)
5223 {
5224
2/2
✓ Branch 0 taken 2140 times.
✓ Branch 1 taken 1747 times.
3887 if(tempss->objects[j].type==ssoNONE)
5225 {
5226 1747 tempss->objects[j].type=ssoNULL;
5227 1747 }
5228 3887 }
5229 92 }
5230
5231
5232
5233 int32_t get_alignment(subscreen_object *tempsso)
5234 {
5235 switch(tempsso->type)
5236 {
5237 case ssoTEXT:
5238 return tempsso->d2;
5239 break;
5240
5241 case ssoBSTIME:
5242 return sstaLEFT;
5243 break;
5244
5245 case ssoTIME:
5246 return sstaRIGHT;
5247 break;
5248
5249 case ssoSSTIME:
5250 return sstaRIGHT;
5251 break;
5252
5253 case ssoCOUNTER:
5254 return tempsso->d2;
5255 break;
5256
5257 case ssoMINIMAPTITLE:
5258 return tempsso->d2;
5259 break;
5260
5261 case ssoCURRENTITEMTEXT:
5262 case ssoCURRENTITEMNAME:
5263 case ssoSELECTEDITEMNAME:
5264 case ssoCURRENTITEMCLASSTEXT:
5265 case ssoCURRENTITEMCLASSNAME:
5266 case ssoSELECTEDITEMCLASSNAME:
5267 return sstaLEFT;
5268 break;
5269
5270 case ssoNONE:
5271 case sso2X2FRAME:
5272 case ssoLINE:
5273 case ssoRECT:
5274 case ssoMAGICMETER:
5275 case ssoLIFEMETER:
5276 case ssoBUTTONITEM:
5277 case ssoICON:
5278 case ssoCOUNTERS:
5279 case ssoMINIMAP:
5280 case ssoLARGEMAP:
5281 case ssoCLEAR:
5282 case ssoCURRENTITEM:
5283 case ssoITEM:
5284 case ssoTRIFRAME:
5285 case ssoTRIFORCE:
5286 case ssoTILEBLOCK:
5287 case ssoMINITILE:
5288 case ssoSELECTOR1:
5289 case ssoSELECTOR2:
5290 case ssoMAGICGAUGE:
5291 case ssoLIFEGAUGE:
5292 case ssoTEXTBOX:
5293 case ssoCURRENTITEMTILE:
5294 case ssoSELECTEDITEMTILE:
5295 default:
5296 return sstaLEFT;
5297 break;
5298 }
5299
5300 // return false;//UNREACHABLE
5301 }
5302
5303 //enum { sstsNORMAL, sstsSHADOW, sstsSHADOWU, sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsSHADOWED, sstsSHADOWEDU, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX, sstsMAX };
5304 // "None", "Shadow", "Shadow (U)","Shadow (O)", "Shadow (+)", "Shadow (X)", "Shadowed", "Shadowed (U)","Shadowed (O)","Shadowed (+)", "Shadowed (X)"
5305 //x-1
5306 //sstsSHADOWU, sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsSHADOWEDU, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX
5307 //w+1
5308 //sstsSHADOW, sstsSHADOWU, sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsSHADOWED, sstsSHADOWEDU, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX
5309 //y-1
5310 //sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX
5311 //h+1
5312 //sstsSHADOW, sstsSHADOWU, sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsSHADOWED, sstsSHADOWEDU, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX
5313
5314 int32_t sso_y(subscreen_object *tempsso)
5315 {
5316 int32_t y=0;
5317
5318 switch(tempsso->type)
5319 {
5320 case ssoLIFEMETER:
5321 y=tempsso->y+(tempsso->d2?0:(tempsso->d3?8:16));
5322 break;
5323
5324 case ssoNONE:
5325 case sso2X2FRAME:
5326 case ssoTEXT:
5327 case ssoLINE:
5328 case ssoRECT:
5329 case ssoBSTIME:
5330 case ssoTIME:
5331 case ssoSSTIME:
5332 case ssoMAGICMETER:
5333 case ssoBUTTONITEM:
5334 case ssoICON:
5335 case ssoCOUNTER:
5336 case ssoCOUNTERS:
5337 case ssoMINIMAPTITLE:
5338 case ssoMINIMAP:
5339 case ssoLARGEMAP:
5340 case ssoCLEAR:
5341 case ssoCURRENTITEM:
5342 case ssoITEM:
5343 case ssoTRIFRAME:
5344 case ssoTRIFORCE:
5345 case ssoTILEBLOCK:
5346 case ssoMINITILE:
5347 case ssoSELECTOR1:
5348 case ssoSELECTOR2:
5349 case ssoMAGICGAUGE:
5350 case ssoLIFEGAUGE:
5351 case ssoTEXTBOX:
5352 case ssoCURRENTITEMTILE:
5353 case ssoSELECTEDITEMTILE:
5354 case ssoCURRENTITEMTEXT:
5355 case ssoCURRENTITEMNAME:
5356 case ssoSELECTEDITEMNAME:
5357 case ssoCURRENTITEMCLASSTEXT:
5358 case ssoCURRENTITEMCLASSNAME:
5359 case ssoSELECTEDITEMCLASSNAME:
5360 y=tempsso->y;
5361 break;
5362
5363 default:
5364 y=(zc_oldrand()*1000)%64;
5365 break;
5366 }
5367
5368 switch(tempsso->type)
5369 {
5370 case ssoTEXT:
5371 case ssoBSTIME:
5372 case ssoTIME:
5373 case ssoSSTIME:
5374 case ssoCOUNTER:
5375 case ssoCOUNTERS:
5376 switch(tempsso->d3)
5377 {
5378 case sstsOUTLINE8:
5379 case sstsOUTLINEPLUS:
5380 case sstsOUTLINEX:
5381 case sstsOUTLINED8:
5382 case sstsOUTLINEDPLUS:
5383 case sstsOUTLINEDX:
5384 y-=1;
5385 break;
5386 }
5387
5388 break;
5389 }
5390
5391 return y;
5392 }
5393
5394 int32_t sso_x(subscreen_object *tempsso)
5395 {
5396 int32_t x=0;
5397
5398 switch(tempsso->type)
5399 {
5400 case ssoMAGICMETER:
5401 x=tempsso->x-10;
5402 break;
5403
5404 case ssoNONE:
5405 case sso2X2FRAME:
5406 case ssoTEXT:
5407 case ssoLINE:
5408 case ssoRECT:
5409 case ssoBSTIME:
5410 case ssoTIME:
5411 case ssoSSTIME:
5412 case ssoLIFEMETER:
5413 case ssoBUTTONITEM:
5414 case ssoICON:
5415 case ssoCOUNTER:
5416 case ssoCOUNTERS:
5417 case ssoMINIMAPTITLE:
5418 case ssoMINIMAP:
5419 case ssoLARGEMAP:
5420 case ssoCLEAR:
5421 case ssoCURRENTITEM:
5422 case ssoITEM:
5423 case ssoTRIFRAME:
5424 case ssoTRIFORCE:
5425 case ssoTILEBLOCK:
5426 case ssoMINITILE:
5427 case ssoSELECTOR1:
5428 case ssoSELECTOR2:
5429 case ssoMAGICGAUGE:
5430 case ssoLIFEGAUGE:
5431 case ssoTEXTBOX:
5432 case ssoCURRENTITEMTILE:
5433 case ssoSELECTEDITEMTILE:
5434 case ssoCURRENTITEMTEXT:
5435 case ssoCURRENTITEMNAME:
5436 case ssoSELECTEDITEMNAME:
5437 case ssoCURRENTITEMCLASSTEXT:
5438 case ssoCURRENTITEMCLASSNAME:
5439 case ssoSELECTEDITEMCLASSNAME:
5440 x=tempsso->x;
5441 break;
5442
5443 default:
5444 x=(zc_oldrand()*1000)%64;
5445 break;
5446 }
5447
5448 switch(tempsso->type)
5449 {
5450 case ssoTEXT:
5451 case ssoBSTIME:
5452 case ssoTIME:
5453 case ssoSSTIME:
5454 case ssoCOUNTER:
5455 case ssoCOUNTERS:
5456 switch(tempsso->d3)
5457 {
5458 case sstsSHADOWU:
5459 case sstsOUTLINE8:
5460 case sstsOUTLINEPLUS:
5461 case sstsOUTLINEX:
5462 case sstsSHADOWEDU:
5463 case sstsOUTLINED8:
5464 case sstsOUTLINEDPLUS:
5465 case sstsOUTLINEDX:
5466 x-=1;
5467 break;
5468 }
5469
5470 break;
5471 }
5472
5473 return x;
5474 }
5475
5476
5477
5478 int32_t sso_h(subscreen_object *tempsso)
5479 {
5480 int32_t h=0;
5481
5482 switch(tempsso->type)
5483 {
5484 case ssoNONE:
5485 h=5;
5486 break;
5487
5488 case sso2X2FRAME:
5489 h=tempsso->h*8;
5490 break;
5491
5492 case ssoTEXT:
5493 h=text_height(ss_font(tempsso->d1));
5494 break;
5495
5496 case ssoLINE:
5497 h=tempsso->h;
5498 break;
5499
5500 case ssoRECT:
5501 h=tempsso->h;
5502 break;
5503
5504 case ssoBSTIME:
5505 h=text_height(ss_font(tempsso->d1));
5506 break;
5507
5508 case ssoTIME:
5509 h=text_height(ss_font(tempsso->d1));
5510 break;
5511
5512 case ssoSSTIME:
5513 h=text_height(ss_font(tempsso->d1));
5514 break;
5515
5516 case ssoMAGICMETER:
5517 h=8;
5518 break;
5519
5520 case ssoLIFEMETER:
5521 h=tempsso->d3?24:16;
5522 break;
5523
5524 case ssoBUTTONITEM:
5525 h=16;
5526 break;
5527
5528 case ssoICON:
5529 h=8;
5530 break;
5531
5532 case ssoCOUNTER:
5533 h=text_height(ss_font(tempsso->d1));
5534 break;
5535
5536 case ssoCOUNTERS:
5537 h=32;
5538 break;
5539
5540 case ssoMINIMAPTITLE:
5541 h=16;
5542 break;
5543
5544 case ssoMINIMAP:
5545 h=48;
5546 break;
5547
5548 case ssoLARGEMAP:
5549 h=80;
5550 break;
5551
5552 case ssoCLEAR:
5553 h=5;
5554 break;
5555
5556 case ssoCURRENTITEM:
5557 h=16;
5558 break;
5559
5560 case ssoITEM:
5561 h=16;
5562 break;
5563
5564 case ssoTRIFRAME:
5565 h=16*((tempsso->d7)?7:3);
5566 break;
5567
5568 case ssoTRIFORCE:
5569 h=16;
5570 break;
5571
5572 case ssoTILEBLOCK:
5573 h=16*(tempsso->h);
5574 break;
5575
5576 case ssoMINITILE:
5577 h=8;
5578 break;
5579
5580 case ssoSELECTOR1:
5581 case ssoSELECTOR2:
5582 h=tempsso->d5?32:16;
5583 break;
5584
5585 case ssoMAGICGAUGE:
5586 h=8;
5587 break;
5588
5589 case ssoLIFEGAUGE:
5590 h=8;
5591 break;
5592
5593 case ssoTEXTBOX:
5594 h=tempsso->h;
5595 break;
5596
5597 case ssoCURRENTITEMTILE:
5598 h=16;
5599 break;
5600
5601 case ssoSELECTEDITEMTILE:
5602 h=16;
5603 break;
5604
5605 case ssoCURRENTITEMTEXT:
5606 h=16;
5607 break;
5608
5609 case ssoCURRENTITEMNAME:
5610 h=tempsso->h;
5611 break;
5612
5613 case ssoSELECTEDITEMNAME:
5614 h=tempsso->h;
5615 break;
5616
5617 case ssoCURRENTITEMCLASSTEXT:
5618 h=tempsso->h;
5619 break;
5620
5621 case ssoCURRENTITEMCLASSNAME:
5622 h=tempsso->h;
5623 break;
5624
5625 case ssoSELECTEDITEMCLASSNAME:
5626 h=tempsso->h;
5627 break;
5628
5629 default:
5630 h=(zc_oldrand()*1000)%64;
5631 break;
5632 }
5633
5634 switch(tempsso->type)
5635 {
5636 case ssoTEXT:
5637 case ssoBSTIME:
5638 case ssoTIME:
5639 case ssoSSTIME:
5640 case ssoCOUNTER:
5641 case ssoCOUNTERS:
5642 switch(tempsso->d3)
5643 {
5644 case sstsSHADOW:
5645 case sstsSHADOWU:
5646 case sstsOUTLINE8:
5647 case sstsOUTLINEPLUS:
5648 case sstsOUTLINEX:
5649 case sstsSHADOWED:
5650 case sstsSHADOWEDU:
5651 case sstsOUTLINED8:
5652 case sstsOUTLINEDPLUS:
5653 case sstsOUTLINEDX:
5654 h+=1;
5655 break;
5656 }
5657
5658 break;
5659 }
5660
5661 return h;
5662 }
5663
5664 int32_t sso_w(subscreen_object *tempsso)
5665 {
5666 int32_t w=0;
5667
5668 switch(tempsso->type)
5669 {
5670 case ssoNONE:
5671 w=5;
5672 break;
5673
5674 case sso2X2FRAME:
5675 w=tempsso->w*8;
5676 break;
5677
5678 case ssoTEXT:
5679 w=text_length(ss_font(tempsso->d1), (char *)tempsso->dp1);
5680 break;
5681
5682 case ssoLINE:
5683 w=tempsso->w;
5684 break;
5685
5686 case ssoRECT:
5687 w=tempsso->w;
5688 break;
5689
5690 case ssoBSTIME:
5691 w=text_length(ss_font(tempsso->d1), time_str_short2(game->get_time()));
5692 break;
5693
5694 case ssoTIME:
5695 w=text_length(ss_font(tempsso->d1), time_str_med(game->get_time()));
5696 break;
5697
5698 case ssoSSTIME:
5699 w=text_length(ss_font(tempsso->d1), time_str_med(game->get_time()));
5700 break;
5701
5702 case ssoMAGICMETER:
5703 w=82;
5704 break;
5705
5706 case ssoLIFEMETER:
5707 w=64;
5708 break;
5709
5710 case ssoBUTTONITEM:
5711 w=16;
5712 break;
5713
5714 case ssoICON:
5715 w=8;
5716 break;
5717
5718 case ssoCOUNTER:
5719 w=text_length(ss_font(tempsso->d1), "0")*tempsso->d4;
5720 break;
5721
5722 case ssoCOUNTERS:
5723 w=32;
5724 break;
5725
5726 case ssoMINIMAPTITLE:
5727 w=80;
5728 break;
5729
5730 case ssoMINIMAP:
5731 w=80;
5732 break;
5733
5734 case ssoLARGEMAP:
5735 w=16*((tempsso->d4)?9:7);
5736 break;
5737
5738 case ssoCLEAR:
5739 w=5;
5740 break;
5741
5742 case ssoCURRENTITEM:
5743 w=16;
5744 break;
5745
5746 case ssoITEM:
5747 w=16;
5748 break;
5749
5750 case ssoTRIFRAME:
5751 w=16*((tempsso->d7)?7:6);
5752 break;
5753
5754 case ssoTRIFORCE:
5755 w=16;
5756 break;
5757
5758 case ssoTILEBLOCK:
5759 w=16*(tempsso->w);
5760 break;
5761
5762 case ssoMINITILE:
5763 w=8;
5764 break;
5765
5766 case ssoSELECTOR1:
5767 case ssoSELECTOR2:
5768 w=tempsso->d5?32:16;
5769 break;
5770
5771 case ssoMAGICGAUGE:
5772 w=8;
5773 break;
5774
5775 case ssoLIFEGAUGE:
5776 w=8;
5777 break;
5778
5779 case ssoTEXTBOX:
5780 w=tempsso->w;
5781 break;
5782
5783 case ssoCURRENTITEMTILE:
5784 w=16;
5785 break;
5786
5787 case ssoSELECTEDITEMTILE:
5788 w=16;
5789 break;
5790
5791 case ssoCURRENTITEMTEXT:
5792 w=16;
5793 break;
5794
5795 case ssoCURRENTITEMNAME:
5796 w=tempsso->w;
5797 break;
5798
5799 case ssoSELECTEDITEMNAME:
5800 w=tempsso->w;
5801 break;
5802
5803 case ssoCURRENTITEMCLASSTEXT:
5804 w=tempsso->w;
5805 break;
5806
5807 case ssoCURRENTITEMCLASSNAME:
5808 w=tempsso->w;
5809 break;
5810
5811 case ssoSELECTEDITEMCLASSNAME:
5812 w=tempsso->w;
5813 break;
5814
5815 default:
5816 w=(zc_oldrand()*1000)%64;
5817 break;
5818 }
5819
5820 switch(tempsso->type)
5821 {
5822 case ssoTEXT:
5823 case ssoBSTIME:
5824 case ssoTIME:
5825 case ssoSSTIME:
5826 case ssoCOUNTER:
5827 case ssoCOUNTERS:
5828 switch(tempsso->d3)
5829 {
5830 case sstsSHADOW:
5831 case sstsSHADOWU:
5832 case sstsOUTLINE8:
5833 case sstsOUTLINEPLUS:
5834 case sstsOUTLINEX:
5835 case sstsSHADOWED:
5836 case sstsSHADOWEDU:
5837 case sstsOUTLINED8:
5838 case sstsOUTLINEDPLUS:
5839 case sstsOUTLINEDX:
5840 w+=1;
5841 break;
5842 }
5843
5844 break;
5845 }
5846
5847 return w;
5848 }
5849
5850 void sso_bounding_box(BITMAP *bmp, subscreen_group *tempss, int32_t index, int32_t color)
5851 {
5852 if(index<0)
5853 {
5854 return;
5855 }
5856
5857 int32_t x=sso_x(&tempss->objects[index]);
5858 int32_t y=sso_y(&tempss->objects[index]);
5859 int32_t w=sso_w(&tempss->objects[index]);
5860 int32_t h=sso_h(&tempss->objects[index]);
5861
5862 switch(get_alignment(&tempss->objects[index]))
5863 {
5864 case sstaCENTER:
5865 x-=(w/2);
5866 break;
5867
5868 case sstaRIGHT:
5869 x-=w;
5870 break;
5871
5872 case sstaLEFT:
5873 default:
5874 break;
5875 }
5876
5877 int32_t c=x+w/2;
5878 int32_t m=y+h/2;
5879 bool normalrect=true;
5880
5881 if(color==-1)
5882 {
5883 color=jwin_pal[jcTITLER];
5884 }
5885 else if(color==-2)
5886 {
5887 color=jwin_pal[jcTITLEL];
5888 }
5889
5890 //draw a bounding box around the current object
5891 if(normalrect)
5892 {
5893 rect(bmp, x, y, x+w-1, y+h-1, color);
5894 }
5895 else
5896 {
5897 rect(bmp, x-1, y-1, x+1, y+1, color);
5898 rect(bmp, x-1, y+h-2, x+1, y+h, color);
5899 rect(bmp, x+w-2, y-1, x+w, y+1, color);
5900 rect(bmp, x+w-2, y+h-2, x+w, y+h, color);
5901
5902 if(w>=9)
5903 {
5904 rect(bmp, c-1, y-1, c+1, y+1, color);
5905 rect(bmp, c-1, y+h-2, c+1, y+h, color);
5906 _allegro_hline(bmp, x+2, y, c-2, color);
5907 _allegro_hline(bmp, c+2, y, x+w-3, color);
5908 _allegro_hline(bmp, x+2, y+h-1, c-2, color);
5909 _allegro_hline(bmp, c+2, y+h-1, x+w-3, color);
5910 }
5911 else
5912 {
5913 _allegro_hline(bmp, x+2, y, x+w-3, color);
5914 _allegro_hline(bmp, x+2, y+h-1, x+w-3, color);
5915 }
5916
5917 if(h>=9)
5918 {
5919 rect(bmp, x-1, m-1, x+1, m+1, color);
5920 rect(bmp, x+w-2, m-1, x+w, m+1, color);
5921 _allegro_vline(bmp, x, y+2, m-2, color);
5922 _allegro_vline(bmp, x, m+2, y+h-3, color);
5923 _allegro_vline(bmp, x+w-1, y+2, m-2, color);
5924 _allegro_vline(bmp, x+w-1, m+2, y+h-3, color);
5925 }
5926 else
5927 {
5928 _allegro_vline(bmp, x, y+2, y+h-3, color);
5929 _allegro_vline(bmp, x+w-1, y+2, y+h-3, color);
5930 }
5931 }
5932 }
5933
5934
5935 10035961 int32_t scounter_to_ctr(int32_t ssc)
5936 {
5937
4/33
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✓ Branch 2 taken 6062124 times.
✓ Branch 3 taken 1933683 times.
✓ Branch 4 taken 1041689 times.
✓ Branch 5 taken 998465 times.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
✗ Branch 18 not taken.
✗ Branch 19 not taken.
✗ Branch 20 not taken.
✗ Branch 21 not taken.
✗ Branch 22 not taken.
✗ Branch 23 not taken.
✗ Branch 24 not taken.
✗ Branch 25 not taken.
✗ Branch 26 not taken.
✗ Branch 27 not taken.
✗ Branch 28 not taken.
✗ Branch 29 not taken.
✗ Branch 30 not taken.
✗ Branch 31 not taken.
✗ Branch 32 not taken.
10035961 switch(ssc)
5938 {
5939 6062124 case sscRUPEES: return crMONEY;
5940 1933683 case sscBOMBS: return crBOMBS;
5941 1041689 case sscSBOMBS: return crSBOMBS;
5942 998465 case sscARROWS: return crARROWS;
5943 case sscSCRIPT1: return crCUSTOM1;
5944 case sscSCRIPT2: return crCUSTOM2;
5945 case sscSCRIPT3: return crCUSTOM3;
5946 case sscSCRIPT4: return crCUSTOM4;
5947 case sscSCRIPT5: return crCUSTOM5;
5948 case sscSCRIPT6: return crCUSTOM6;
5949 case sscSCRIPT7: return crCUSTOM7;
5950 case sscSCRIPT8: return crCUSTOM8;
5951 case sscSCRIPT9: return crCUSTOM9;
5952 case sscSCRIPT10: return crCUSTOM10;
5953 case sscSCRIPT11: return crCUSTOM11;
5954 case sscSCRIPT12: return crCUSTOM12;
5955 case sscSCRIPT13: return crCUSTOM13;
5956 case sscSCRIPT14: return crCUSTOM14;
5957 case sscSCRIPT15: return crCUSTOM15;
5958 case sscSCRIPT16: return crCUSTOM16;
5959 case sscSCRIPT17: return crCUSTOM17;
5960 case sscSCRIPT18: return crCUSTOM18;
5961 case sscSCRIPT19: return crCUSTOM19;
5962 case sscSCRIPT20: return crCUSTOM20;
5963 case sscSCRIPT21: return crCUSTOM21;
5964 case sscSCRIPT22: return crCUSTOM22;
5965 case sscSCRIPT23: return crCUSTOM23;
5966 case sscSCRIPT24: return crCUSTOM24;
5967 case sscSCRIPT25: return crCUSTOM25;
5968 case sscLIFE: return crLIFE;
5969 case sscMAGIC: return crMAGIC;
5970 case sscGENKEYMAGIC: case sscGENKEYNOMAGIC:
5971 case sscANYKEYMAGIC: case sscANYKEYNOMAGIC:
5972 return crKEYS;
5973 }
5974 return crNONE;
5975 10035961 }
5976
5977